我有一个崩溃似乎发生在Swift 1.2的Set中的remove函数上。我猜它不是线程安全的。如何使其线程安全或是否有线程安全的替代方案? 谢谢!
编辑:它被定义为结构中的静态var。
以下是代码:
struct Syncer {
static var isSyncing = Set<HKQuantityType>()
}
Syncer.isSyncing.remove(quantityType)
答案 0 :(得分:1)
它不是线程安全的。 您可以尝试始终从同一个线程访问/更新。或用锁,信号灯等保护它。