为什么原子和非原子概念已从swift中删除

时间:2016-10-26 09:01:21

标签: objective-c swift swift3 atomic nonatomic

swift中没有非原子关键字,为什么swift中不需要nonatomic,因为它存在于目标c中。

1 个答案:

答案 0 :(得分:4)

在Swift中,nonatomic是默认(且唯一)的选择,因此它不是必需的,与Objective-C不同,其中atomic是默认值,但通常不是所需的行为。

至于为什么Swift不提供atomic,我想它并没有被语言设计师视为必要的功能。当然,您可以使用同步,互斥,信号量等实现原子属性。这些解决方案更加冗长,但也允许创建一个真正的线程安全类,而不仅仅是在Objective-C中创建所有属性atomic