ARCなしでiPhoneアプリにxcode4.2を使用---
Interface Builderを使用してアウトレットを作成すると、xcodeはviewControllerに2行のコードを追加します。1つはviewDidUnloadに[self setMyOutlet:nil]
あり、2つ目はdeallocにあり[myOutlet release]
ます。
私は後者(リリース)を理解しています。しかし、なぜviewDidUnloadでアウトレットをnilに設定するのですか。viewDidUnloadはdeallocの前に呼び出され、アウトレットをnilに設定すると、deallocでのリリース操作が無効になりませんか?nilに設定することは、ガベージコレクションを使用するMacアプリケーションを構築することには意味がありますが、iPhoneアプリには意味がありません。
なぜインターフェイスビルダーはこれを行うのですか?アウトレットをnilに設定した行を削除する必要がありますか?