Sun*_*day 4 properties objective-c ios
我有一个Objective-c类"MyClass".在MyClass.m中,我有一个声明CGFloat属性的类扩展:
@interface MyClass ()
@property (nonatomic) CGFloat myFloat;
@end
@implementation MyClass
@synthesize myFloat;
//...
@end
Run Code Online (Sandbox Code Playgroud)
使用readonly关键字声明属性时会发生什么变化(如果有的话)?
@interface MyClass ()
@property (nonatomic, readonly) CGFloat myFloat;
@end
@implementation MyClass
@synthesize myFloat;
//...
@end
Run Code Online (Sandbox Code Playgroud)
也许在第一种情况下,我可以说self.myFloat = 123.0;和CGFloat f = self.myFloat;MyClass内部?然后在第二种情况下,readonly关键字阻止分配self.myFloat = 123.0;但允许读取CGFloat f = self.myFloat;
jav*_*log 11
该选项readonly意味着只为此属性声明了getter方法.因此,没有setter,它就不能通过修改myObject.myFloat=0.5f;
如果你没有声明它readonly,read write默认情况下是这样.
通过()扩展名声明属性不会修改访问模式,但会修改范围; 它将是一个"私人"财产.
| 归档时间: |
|
| 查看次数: |
3038 次 |
| 最近记录: |