1

例如,如果您在 .h 中声明:

@property (strong, nonatomic) Foo *bar

在您的 .m 中,您将获得以下自动完成功能:

+(NSSet *)keyPathsForValuesAffectingBar

我知道这是 KVO 的一个特性,我很好奇它是如何实现的。可以自动完成+(id)myOwnDynamicMethodForBar吗?

4

1 回答 1

1

它与 KVO 无关,而是与DVTFoundationXcode 使用的私有框架有关(DVT 代表 Developer Toolkit)。该框架,或者换句话说,Xcode,将检测您在编辑器中输入的内容,并为您提供一些自动完成的建议。如果您想让自己的动态方法能够自动完成(例如 的形式myOwnDynamicMethodFor<Key>),您可能必须实现一个插件来更改 Xcode 的自动完成操作。

如果您想这样做,您可能需要查看一些插件教程,例如WRITING YOUR OWN XCODE 4 PLUGINSCreating an Xcode4 Plugin。流行的 Xcode 插件KSImageNamed为方法实现了自动完成功能:-imageNamed:,这将是一个很好的示例和起点。

祝你好运~

于 2013-02-22T10:45:19.840 回答