iOS – 在codeSense中出现自动合成属性的“添加”方法

我刚刚创build了一个具有以下属性的iOS类:

@property (nonatomic, strong) NSString* foo; @property (nonatomic, strong) NSObject* bar; @property (nonatomic) CGRect fubar; 

我没有为这些属性添加任何@synthesize或显式的ivars。 然后我进入实现文件并开始创build一个方法如下:

 -(void) add 

我将光标留在单词“add”的末尾。 然后以代码意义popup以下方法名称:

 addBar: (NSSet*) objects addBarObject: (objectType *) object addFoo: (NSSet*) objects addFooObject: (objectType *) object addFubar: (NSSet*) objects addFubarObject: (objectType *) object 

这些方法是什么? 有没有关于他们的文件?

这是类可以实现以支持可变多对多关系的键值编码的访问器方法,请参阅“键值编码编程指南”中的可变无序访问器 :

为了成为可变的无序对多关系的键值编码投诉,您必须实现以下方法:

-add<Key>Object:-add<Key>: 这些方法中至less有一个必须实施。 这些类似于NSMutableSet方法addObject:

其他Key-Value编码存取方法也会发生同样的“奇怪”自动完成,例如:

 - (void)remove... - (void)intersect... - (NSUInteger)countOf...