2013-02-22 52 views
1

例如,如果你在你的.h聲明:如何Xcode的自動完成動態方法

@property (strong, nonatomic) Foo *bar

在您的m你會得到一個自動完成的:

+(NSSet *)keyPathsForValuesAffectingBar

我知道這是KVO的一個特點,我很好奇這是如何實現的。是否有可能自動完成+(id)myOwnDynamicMethodForBar

回答

1

它不是與KVO有關的,而是與被Xcode使用的私有框架DVTFoundation相關的(DVT代表Developer Toolkit)。該框架或換句話說,Xcode將檢測您在編輯器中輸入的內容,併爲您提供一些自動完成的建議。如果您想使自己的動態方法能夠自動完成(例如myOwnDynamicMethodFor<Key>的形式),則可能必須實現一個插件來更改Xcode的自動完成操作。

如果您想這樣做,您可能需要查看一些插件教程,例如WRITING YOUR OWN XCODE 4 PLUGINSCreating an Xcode4 Plugin。流行的Xcode插件KSImageNamed爲該方法實現了自動完成功能:-imageNamed :,將是您的一個很好的示例和起點。

祝你好運〜

+0

謝謝,KSImageNamed鏈接是偉大的。爲了我的目的,我發現最好只聲明一個'+(id)myOwnDynamicMethodForProperty:(NSString *)propertyName'方法,並以字符串形式傳遞屬性的名稱。 – ntesler 2013-02-24 05:55:49