例如,如果您在 .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 的自动完成操作。
如果您想这样做,您可能需要查看一些插件教程,例如WRITING YOUR OWN XCODE 4 PLUGINS或Creating an Xcode4 Plugin。流行的 Xcode 插件KSImageNamed为方法实现了自动完成功能:-imageNamed:,这将是一个很好的示例和起点。
祝你好运~