作用
readonly修饰的属性,只能读取值,不能修改值。
原因:readonly修饰的属性只生成了getter方法,没有生成setter方法
并不一定安全
readonly只是对修饰的属性是只读的,并不能让修饰的属性的属性也是只读的。
代码:
@interface MJModel : NSObject
@property (nonatomic, strong, readonly) MJTestModel *testModel;
@end
@interface MJTestModel : NSObject
@property (nonatomic, assign) float name;
@property (nonatomic, assign) int age;
@end
testModel是MJModel的一个只读属性,但我们拿到testModel后,仍然可以修改testModel的name属性和age属性。
提醒
使用readonly的时候要注意,想一想,如果这样使用,真的能达到我们自己想要的效果吗?
网友评论