swift中没有非原子关键字,为什么swift中不需要nonatomic,因为它存在于目标c中。
答案 0 :(得分:4)
在Swift中,nonatomic
是默认(且唯一)的选择,因此它不是必需的,与Objective-C不同,其中atomic
是默认值,但通常不是所需的行为。
至于为什么Swift不提供atomic
,我想它并没有被语言设计师视为必要的功能。当然,您可以使用同步,互斥,信号量等实现原子属性。这些解决方案更加冗长,但也允许创建一个真正的线程安全类,而不仅仅是在Objective-C中创建所有属性atomic
。