我刚刚创建了一个具有以下属性的 iOS 类:
@property (nonatomic, strong) NSString* foo;
@property (nonatomic, strong) NSObject* bar;
@property (nonatomic) CGRect fubar;
我没有为这些属性添加任何 @synthesize 或显式 ivars。然后我进入实现文件并开始创建一个方法,如下所示:
-(void) add
我将光标留在“add”一词的末尾。然后在代码意义上弹出以下方法名称:
addBar: (NSSet*) objects
addBarObject: (objectType *) object
addFoo: (NSSet*) objects
addFooObject: (objectType *) object
addFubar: (NSSet*) objects
addFubarObject: (objectType *) object
这些方法是什么?有他们的文档吗?
这些是类可以实现的访问器方法,以支持可变对多关系的键值编码,
看可变无序访问器 https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/KeyValueCoding/Articles/AccessorConventions.html#//apple_ref/doc/uid/20002174-SW5《键值编码编程指南》中:
为了使键值编码符合可变有序对多关系,您必须实现以下方法:
-add<Key>Object:
or -add<Key>:
。必须至少实施其中一种方法。这些类似于NSMutableSet
方法addObject:
.
对于其他键值编码访问器方法也会发生相同的“奇怪”自动完成,
例如:
- (void)remove...
- (void)intersect...
- (NSUInteger)countOf...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)