首页 > 代码库 > IOS 对 readonly 的一点坏想法
IOS 对 readonly 的一点坏想法
当很多XXX.h 文件属性YY设计中,对外的设计是 YY(readonly) 时,外界便不能修改该属性,
同时问题也来了,该XXX类的内部也不能修改改YY属性了,你瞬间凌乱过么。。。Y_Y
然后就发现如下两种方法:
一:指针
永远不要小看指针的力量,在内部可以用 obj->_YY 的方式修改YY属性了,这种方式也确实
有点让人YY
// 瞬间变红有木有 // self.YYname = @"skyming"; self->_YYname = @"skyming";
二:重新声明属性
貌似很正规的样子,如果自己写的类属性有不多,公司也没有什么其他代码规范,直接放在
.m 中重新声明一遍就好了
对比下吧 .h 中的声明
@interface XXX : NSObject @property (nonatomic, readonly, strong) NSString *YYname; @end
.m 中的声明 @interface XXX () @property (nonatomic, readwrite, strong) NSString *YYname; @end如果你同一个属性,.h 文件、 .m 文件中都是readonly ,就会报错
当然如果属性多了,或者在SDK中的话直接就再写个Private的.h 吧
而且很多公司内部的SDK中也是这么搞的、、、
如果你们公司的SDK是这样,就默默点赞吧, Y_Y
IOS 对 readonly 的一点坏想法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。