我为什么要在房产中使用非原子?

Tal*_*ode 11 objective-c

可能重复:
Objective-C属性:原子与非原子

默认情况下,Objective-C中的所有属性都是原子的.如果我需要非原子,我必须声明它.但我想知道为什么我应该使用非原子?即使我的应用程序不是多线程的,原子似乎是这样做的方式.非原子的优点是什么?

Jam*_*ton 18

简短的回答是表现.如果将属性声明为atomic,则合成访问器将使用锁定以确保完全检索和设置值.如果您不需要这个,例如,您的应用程序是单线程的,那么在没有获得好处的情况下,您会对这些锁定产生性能损失.

  • 因此,将属性设置为非原子而不将分析计算为过早优化. (6认同)