0

ということに最近気づきました

loadNibNamed:owner:

は 10.8 で廃止されたため、切り替えを開始しました。

loadNibNamed:owner:topLevelObjects:

私は ARC を使用していますが、この新しいバージョンではコントローラーが nib 内のすべてのトップレベル オブジェクトへの強い参照を保持できるようになっているため、トップレベル オブジェクトへのアウトレット接続を弱い参照に変更することは理にかなっています (もちろん、弱い参照をサポートします)?

これは、他のアウトレットとの一貫性を維持するためだけのものです。同じオブジェクトに対して2つの強い参照を保持することに(この場合)何も問題がないことは理解しています。

IBOutlets と ARC を使用する一般的なケースについて質問しているわけではありません。具体的には、新しい 10.8 メソッドを介して nib をロードして、強力なアウトレットを使用してトップレベルのオブジェクトを保持する必要があるというルールが変更されるかどうかについて質問しています。 .

考え?

4

1 に答える 1

1

topLevelObjects配列ポインターで何をしているかに大きく依存します。それが手に入ったら、何も失わないようにするために、配列全体を保持するか、配列内の各オブジェクトへの強い参照が必要です。

配列を保持する場合は、最上位オブジェクトへの弱い参照を使用しても安全です。そうでない場合は、強いものを保持する必要があります。

于 2013-04-13T23:54:11.257 に答える