美文网首页
OC中使用readonly并不一定是安全的

OC中使用readonly并不一定是安全的

作者: 梁森的简书 | 来源:发表于2022-08-25 19:16 被阅读0次

作用

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的时候要注意,想一想,如果这样使用,真的能达到我们自己想要的效果吗?

相关文章

网友评论

      本文标题:OC中使用readonly并不一定是安全的

      本文链接:https://www.haomeiwen.com/subject/iykzgrtx.html