私はiOS 4をサポートするプロジェクトを持っていたので、すべての私のIBOutletsはペン先にあってコントローラのメインビュー(同じペン先で別々のビュー)の外にあったIBOutletsでさえもすべて役に立ちました。 弱いとunsafe_unretainedの違い
だから時間が来ており、現在クライアントは、iOS 5のみをサポートしたいので、私たちのチームに変更になりましたすべての__unsafe_unretained
__weak IBOutlets
ためIBOutletsが、(
viewdidload
を除く)
nil
に設定されているメインビュー内ではありませんのでIBOutlets後で追加することはできません。
もし私が考えているのであれば、ビュー(メインビュー)がそれらのIBOutletを保持していなければ、それらを割り当て解除してゼロにする必要があります(私はそれが正しい単語かどうかわかりません)。これらIBOutletsから
を__weak
を削除しかし、何が私には意味がないことは、私の頭の中でunsafe_unretained
ものが割り当て解除されなければならないとアプリがそれらにアクセスしようとしたとき、彼らは指している必要があり、unsafe_unretained
とweak
の間ではなぜ異なる動作です無効な参照にしてアプリがクラッシュするはずです。
私はunsafe__unretainedがweakと同じだがゼロ調整がないと思った。
ここに何か不足していますか?
ありがとうございました。
あなたは正しいですか? unsafe_unretainedは参照をnilしません。 – Francesco