iOSObjective-C関連オブジェクト


前書き

Objective-Cランタイムの一部としてiOS 3.1で初めて導入された関連オブジェクトは、既存のクラスオブジェクトにインスタンス変数を追加する方法を提供します(サブクラス化することによって)。

つまり、サブクラス化せずに他のオブジェクトに任意のオブジェクトをアタッチすることができます。

構文

  • void objc_setAssociatedObject(idオブジェクト、void * key、id値、objc_AssociationPolicyポリシー)

  • id objc_getAssociatedObject(idオブジェクト、void * key)

  • void objc_removeAssociatedObjects(idオブジェクト)

パラメーター

Param 詳細
オブジェクト変更する既存のオブジェクト
キーこれは基本的に定数メモリアドレスを持つ任意のポインタですが、ここでは計算されたプロパティ(getter)を使用して、
追加したいオブジェクト
ポリシーこの新しいvalueのメモリポリシーは、それが保持されているか、割り当てられているか、コピーされているかなどです。宣言する他のプロパティと同じように

備考

Objective-C関連オブジェクト 関連する例