例如,如果你在你的.h聲明:如何Xcode的自動完成動態方法
@property (strong, nonatomic) Foo *bar
在您的m你會得到一個自動完成的:
+(NSSet *)keyPathsForValuesAffectingBar
我知道這是KVO的一個特點,我很好奇這是如何實現的。是否有可能自動完成+(id)myOwnDynamicMethodForBar
?
例如,如果你在你的.h聲明:如何Xcode的自動完成動態方法
@property (strong, nonatomic) Foo *bar
在您的m你會得到一個自動完成的:
+(NSSet *)keyPathsForValuesAffectingBar
我知道這是KVO的一個特點,我很好奇這是如何實現的。是否有可能自動完成+(id)myOwnDynamicMethodForBar
?
它不是與KVO有關的,而是與被Xcode使用的私有框架DVTFoundation
相關的(DVT代表Developer Toolkit)。該框架或換句話說,Xcode將檢測您在編輯器中輸入的內容,併爲您提供一些自動完成的建議。如果您想使自己的動態方法能夠自動完成(例如myOwnDynamicMethodFor<Key>
的形式),則可能必須實現一個插件來更改Xcode的自動完成操作。
如果您想這樣做,您可能需要查看一些插件教程,例如WRITING YOUR OWN XCODE 4 PLUGINS或Creating an Xcode4 Plugin。流行的Xcode插件KSImageNamed爲該方法實現了自動完成功能:-imageNamed :,將是您的一個很好的示例和起點。
祝你好運〜
謝謝,KSImageNamed鏈接是偉大的。爲了我的目的,我發現最好只聲明一個'+(id)myOwnDynamicMethodForProperty:(NSString *)propertyName'方法,並以字符串形式傳遞屬性的名稱。 – ntesler 2013-02-24 05:55:49