ARC を使用する場合、たとえばretainやなどの修飾子を使用する必要はありません。この種のメモリ管理は、修飾子と修飾子copyを使用して自動的に行われます。strongweak
deallocメソッドの記述についても心配する必要はありません。
strongは と同じようなものなretainので、アウトレットをそれでマークする必要があります
@property(nonatomic, strong) IBOutlet UIButton *bt;
これが、インターフェイス ビルダーがデフォルトで作成する方法です。
それらのセマンティックの違いについては詳しく説明しませんが、何が起こっているのかを知りたい場合や修飾子の詳細について知りたい場合は、 Apple の ARC への移行に関するガイドを参照してください。strongweak
編集:
申し訳ありませんが、インターフェースビルダーはweakデフォルトでアウトレットを作成します。
編集 2:
strong実際にretainは 100% 同一です。(@アダムに感謝)
EDIT 3:エラーが発生nilしないようにmessage sent to deallocated instanceポインタ
を設定します。BAD_ACCESS_EXCEPTION
実際に ARC を使用している場合は、 の(nonatomic, weak)代わりにアウトレットを作成する必要があります(nonatomic, strong)。ゼロ化ポインターを使用することにより、コンパイラーは、他に何も参照されていないときにweakアウトレットを自動的に設定します。nil
要約すると、プロパティを使用しない場合は、ポインタを nil に設定する必要があります。weak