だから私は iOS 4 をサポートするプロジェクトを持っていたので、すべての IBOutlets は__unsafe_unretained
、ペン先にあるがコントローラーのメイン ビュー (同じペン先の別のビュー) の外側にある IBOutlets でさえあり、すべてうまく機能しました。
その時が来て、クライアントは iOS 5 のみをサポートすることを望んでいるため、チームはすべての__unsafe_unretained
IBOutlets を変更しまし__weak IBOutlets
たが、現在、メイン ビュー内にない IBOutlets はnil
(を除くviewdidload
) に設定されているため、後で追加することはできません。
私がそれについて考えると、ビュー(メインビュー)がそれらの IBOutlets を保持していない場合、割り当てを解除してゼロにする必要があるため(それが正しい言葉かどうかはわかりません)、解決策は__weak
それらからを削除することですIBアウトレット
しかし、私にとって意味をなさないのは、 と の間の動作が異なる理由ですunsafe_unretained
。weak
私の頭のunsafe_unretained
中では、それらの割り当てを解除する必要があり、アプリがそれらにアクセスしようとすると、それらは無効な参照を指し、アプリがクラッシュするはずです。
unsafe__unretained は weak と同じですが、ゼロ化はしていないと思いました。
ここで何か不足していますか?
ありがとう。