だから私は 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 と同じですが、ゼロ化はしていないと思いました。
ここで何か不足していますか?
ありがとう。