为何Mac OS X程序中property大多使用atomic?
2016-04-20 本文已影响91人
我才是Leonidas
我们都知道iOS程序开发中property推荐使用nonatomic,一是因为atomic有控制属性原子访问的功能,但是atomic比较影响性能,iPhone这样的移动设备,尤其要谨慎使用;二是因为atomic并不能完全保证属性在并发访问下的安全性,并不一定能做到绝对的原子访问;
osx中,通过连线生成的 属性默认是atomic的,不用考虑性能问题,因为osx不像iOS,它完全可以承受那样的性能压力;
但是用atomic的属性的getter和setter 方法必须相互匹配,要么都是synthesized的,用么都是用户自定义,要么属性显式设置为nonatomic