Arcを使ったら人生変わった話

560 views
507 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
560
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Arcを使ったら人生変わった話

  1. 1. ARCを使ったら人生変わった話 @ykuroki12年9月13日木曜日
  2. 2. 自己紹介 • @ykuroki • Web/iOS開発 • 趣味 – アプリ開発・さんぽ12年9月13日木曜日
  3. 3. 伝えたいこと • メモリ管理の自動化でiOS開発も楽になっ てきているということ12年9月13日木曜日
  4. 4. アジェンダ • Objective-Cのメモリ管理 • ARCとは • ARCのルール • ハマッた点 • まとめ12年9月13日木曜日
  5. 5. Objective-Cのメモリ管理 • 「参照カウント」(Reference Counting) • オブジェクトの生成から破棄までを管理 1 2 1 0 0 オブジェクトの生成して所有 オブジェクトの所有 オブジェクトの解放 参照されくなったので破棄 alloc retain release dealloc12年9月13日木曜日
  6. 6. ARCとは • Automatic Referense Counting – 参照カウントを自動でやりますよってこと • X-Code 4.2以降を使用する • ファイル単位でARCの有効化、無効化で きる – ARC無効のライブラリをそのまま使える12年9月13日木曜日
  7. 7. よくわからないコードが retainしてオブ ジェクト所有 dealloc時に所 有していたオ ブジェクトも 解放 キモい12年9月13日木曜日
  8. 8. なんということでしょう 代入することで自動 的に所有する インスタンスは自 シュッとしている 動で破棄12年9月13日木曜日
  9. 9. ARCのルール • retain, releaseをタイプする必要がない – 変数を代入するとretain – スコープを抜けるとreleaseが自動的に行われ る • 明示的にdeallocを呼び出せない – 非ARCのときに必須だった[super dealloc]が エラーになる – dealloc自体はあります12年9月13日木曜日
  10. 10. ハマった点 自動解放されるため、呼び出したも のがすでにdeallocされている可能性 がある。deallocされたオブジェクト にアクセスするとアプリがクラッ シュする 操作を加えると.. クラッシュ! Subwindow Subwindow12年9月13日木曜日
  11. 11. まとめ • いいところ – メモリ管理を気にしなくなる – コードの記述量が減る • 心配なところ – autorelease/retain があるとエラーになる – 既存モジュールが使えない可能性が高い →ファイル単位でARCを無効にするなどの対応必要12年9月13日木曜日
  12. 12. ありがとうございました12年9月13日木曜日

×