4

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

4

1 回答 1

4

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

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

于 2016-10-26T09:18:36.733 回答