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

时间:2013-03-10 20:51:25

标签: ios xcode properties automatic-properties

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

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

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

-(void) add

我将光标留在“添加”一词的末尾。然后在代码意义上弹出以下方法名称:

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

这些方法是什么?有没有针对他们的文档?

1 个答案:

答案 0 :(得分:6)

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

  

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

     

-add<Key>Object:-add<Key>:。必须实现这些方法中的至少一种。这些类似于NSMutableSet方法   addObject:

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

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