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

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

397

Published on

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

  • Be the first to like this

No Downloads
Views
Total Views
397
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
2
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日木曜日
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×