たとえば、.hで宣言した場合:
@property (strong, nonatomic) Foo *bar
.mでは、次のオートコンプリートを取得します。
+(NSSet *)keyPathsForValuesAffectingBar
これがKVOの機能であることは知っていますが、これがどのように実装されているのか興味があります。オートコンプリートは可能+(id)myOwnDynamicMethodForBar
ですか?
たとえば、.hで宣言した場合:
@property (strong, nonatomic) Foo *bar
.mでは、次のオートコンプリートを取得します。
+(NSSet *)keyPathsForValuesAffectingBar
これがKVOの機能であることは知っていますが、これがどのように実装されているのか興味があります。オートコンプリートは可能+(id)myOwnDynamicMethodForBar
ですか?
これはKVOに関連するものではなく、DVTFoundation
Xcode(DVTはDeveloper Toolkitの略)によって使用されると呼ばれるプライベートフレームワークに関連しています。フレームワーク、つまりXcodeは、エディターに入力した内容を検出し、オートコンプリートの提案を提供します。独自の動的メソッドを作成してオートコンプリートできるようにする場合(の形式などmyOwnDynamicMethodFor<Key>
)、Xcodeのオートコンプリートアクションを変更するプラグインを実装する必要がある場合があります。
必要に応じて、独自のXCODE4プラグインの作成やXcode4プラグインの作成などのプラグインチュートリアルを参照する必要がある場合があります。人気のあるXcodeプラグインKSImageNamedは、メソッドのオートコンプリート機能を実装しました。-imageNamed:は、良い例であり、開始点になります。
頑張ってください〜