Mar*_*n R 3 objective-c getter-setter
我注意到对于具有自定义getter方法的属性
@interface MyClass : NSObject
@property (nonatomic,getter=isActive) BOOL active;
@end
Run Code Online (Sandbox Code Playgroud)
都
BOOL b = myObj.isActive
Run Code Online (Sandbox Code Playgroud)
和
BOOL b = myObj.active
Run Code Online (Sandbox Code Playgroud)
可以用来获取价值.在这两种情况下isActive都调用该方法.
这两者没有区别.如果从英语语法的角度来看替代名称更有意义,你想要打破已建立的XYZ+ 约定时使用自定义名称setXYZ.例如,
if ([myRobot isActive]) {
....
}
Run Code Online (Sandbox Code Playgroud)
阅读比...更好
if ([myRobot active]) {
....
}
Run Code Online (Sandbox Code Playgroud)
你本可以宣称你的财产为isActive,但那时你的设定者会是setIsActive,这听起来比setActive.
| 归档时间: |
|
| 查看次数: |
929 次 |
| 最近记录: |