保持と解放を挿入する以外にARCを使用して行うことは何ですか? ARCがコードを最適化すると言われていますか?保持と解放の挿入以外にARCを使用する場合
-3
A
答えて
1
「保持と解放を挿入する」は、ほとんどの場合、ARCが行うことです(特にautoreleaseを含む場合)。実際には、それはThe Golden Rules of Memory Managementに従うので、そうする必要はありません。
さらに1つの機能が追加されています。ダングリングポインタを防ぐために、automatic nilification of weak referencesを導入しました。
+0
この単純なことは、開発者の大きな負担ですが。あなたはあなたの保持とリリースで非常に訓練されることを学ばなければならなかったし、あなたがうんざりした場合は、メモリを漏らしたか、あなたのプログラムがデバッグするのが奇妙な方法でクラッシュした。マニュアル参照カウントよりARCの利点をはるかに説明するのは難しいです。私はおそらくそれを台無しにするだろう非アークコードを書いて以来、それは十分に長いされています。 –
関連する問題
- 1. ARCが保持と解放を挿入する場所を確認
- 2. ARCと解放メモリ
- 3. ARC使用時にオブジェクトを解放する
- 4. ARC、コアデータとマルチスレッド、ARCがオブジェクトを解放する
- 5. dealloc(ARCを使用)を使用している場合、UIViewControllerはサブビューを解放しません。
- 6. ARCを使用する場合でもメモリを解放する必要がありますか?
- 7. 保持/解放の問題
- 8. 保持カウント以上の変数を解放することの影響
- 9. プロパティを持つメモリの保持/解放
- 10. スレッドセーフな保持/解放
- 11. 保持/解放 - 参照数
- 12. 自動解放プール。排水と保持
- 13. ARC以外のプロジェクトにARCヘッダーを含める
- 14. ARCでオブジェクト参照に__blockキーワードを使用する場合
- 15. IDが存在しない場合はテーブルに挿入し、それ以外の場合はスキップします
- 16. 「これ以外の場合はこれ以外の場合」
- 17. 弱参照を使用するときにARCが自動解放するのはなぜですか?
- 18. ARCを使用する場合のデリゲートの宣言
- 19. READ COMMITTED分離レベルでロックを保持/解放するとき
- 20. ARC(iOS)の自動解放に関する問題
- 21. ARCを使用する場合の条件付きコンパイル
- 22. それ以外の場合スピナーで使用する
- 23. フリーダイヤルブリッジオブジェクト、保持および解放
- 24. ARCのCoreDataモデルオブジェクトは、保持を使用します
- 25. dplyrパッケージを使用する場合、コンマクラスを保持する
- 26. 2つ以上のマップを保持するマップにアイテムを挿入
- 27. ARCは早めにViewControllerを解放します
- 28. 外部キーが存在する場合、PostgreSQLの挿入
- 29. ARCでサイクルを保持
- 30. 保持されたオブジェクトのメモリを解放する方法
[ARCリリースノートへの移行](https://developer.apple.com/library/content/releasenotes/ObjectiveC/RN-TransitioningToARC/Introduction/Introduction.html)を参考にしてくださいかわった。 – Rob
マットが以下に述べることに加えて、スタック変数を自動的に 'nil'に初期化します。前に、変数を宣言した場合、たとえば、 'NSString * string;'、明示的に何かに設定するまでの保証はありませんでした。また、 'dealloc'は自動的に' super'実装を呼び出すので、 'dealloc'が必要な場合でも、少なくとも[super dealloc]を呼び出す必要はありません。上記の文書で概説されている他の考慮事項もあります。 – Rob