重複の可能性:
objective-cの強いものと弱いものとの違い
モデル オブジェクトのデータを表示するテーブルビューがあるとします。UITableViewController で宣言すると...
@property (strong, nonatomic) NSArray *modelObject;
この配列をセグエの別のView Controllerプロパティに渡す場合weak
、宛先View Controllerで宣言する必要がありますか?
重複の可能性:
objective-cの強いものと弱いものとの違い
モデル オブジェクトのデータを表示するテーブルビューがあるとします。UITableViewController で宣言すると...
@property (strong, nonatomic) NSArray *modelObject;
この配列をセグエの別のView Controllerプロパティに渡す場合weak
、宛先View Controllerで宣言する必要がありますか?
この特定のケースでは、どちらでも機能するはずです。
strong
プロパティがstrong
参照元オブジェクトへの循環参照を保持できる場合、これは問題です。ここでは可能性があると思いますが、コントローラーがデータとして扱われないと仮定すると、そうではありません。開始コントローラーはstrong
、宛先コントローラーの存続期間中、存在し、参照を保持するためweak
、宛先にプロパティを持つことも問題ありません。
私が選択する理由の 1 つstrong
は、アプリの進化に伴う問題に対する保険です。宛先がいつかmodelObject
他のソースからそれを受け取る可能性がある場合、プロバイダーには強い参照が必要であることを覚えていますか?