IOS之Accessor method
1 前言
本章主要介绍了Objective-C中的存取方法的相关概念。
2 详述
存储方法是一个可以获得或者设置一个对象的属性值的实例方法。在Cocoa的术语中,一个检索对象属性值的方法提及为getter方法,或者"getter;",一个改变对象属性值的方法提及为setter方法,或者“setter.”这些方法通常成对建立,提供获得或者设置对象属性值的API。
我们应该使用存储方法而不是直接存储状态数据因为他们提供了一个抽象的层。下面是存储方法所提供的两个好处:
·我们不需要重写我们的代码如果一个描述或者存储属性的方法改变。
·存储方法常常实现重要行为是无论何时一个值被检索或者设置都会被重现。例如,设置方法频繁的实现内存管理代码并且通知其他对象当一个值被改变的时候。
2.1 命名规则
因为这种模式的重要性,Cocoa定义了一些命名存储方法的规则。给出一个属性的类型type和称呼name,我们应该通过下面的格式,典型的实现存储方法:
-(type)name; -(void)setName:(type)newName;
有个例外是属性为Boolean值。getter方法名字应该是isName。例如:
-(BOOL)isHidden; -(void)setHidden:(BOOL)newHidden;
这种命名惯例很重要因为在Cocoa中的很多其他的功能都依赖它,特别的key-value coding。Cocoa不使用getName因为以get开始的方法表明方法返回引用类型的值。
3 结语
以上是所有内容,希望对大家有所帮助。