1

重複の可能性:
objective-cの強いものと弱いものとの違い

モデル オブジェクトのデータを表示するテーブルビューがあるとします。UITableViewController で宣言すると...

@property (strong, nonatomic) NSArray *modelObject;

この配列をセグエの別のView Controllerプロパティに渡す場合weak、宛先View Controllerで宣言する必要がありますか?

4

1 に答える 1

1

この特定のケースでは、どちらでも機能するはずです。

strongプロパティがstrong参照元オブジェクトへの循環参照を保持できる場合、これは問題です。ここでは可能性があると思いますが、コントローラーがデータとして扱われないと仮定すると、そうではありません。開始コントローラーはstrong、宛先コントローラーの存続期間中、存在し、参照を保持するためweak、宛先にプロパティを持つことも問題ありません。

私が選択する理由の 1 つstrongは、アプリの進化に伴う問題に対する保険です。宛先がいつかmodelObject他のソースからそれを受け取る可能性がある場合、プロバイダーには強い参照が必要であることを覚えていますか?

于 2012-12-04T17:25:51.440 に答える