iOS 10でアトミックブール値を作成する方法を知っている人はいますか?
現在のコード:
import UIKit
struct AtomicBoolean {
fileprivate var val: UInt8 = 0
/// Sets the value, and returns the previous value.
/// The test/set is an atomic operation.
mutating func testAndSet(_ value: Bool) -> Bool {
if value {
return OSAtomicTestAndSet(0, &val)
} else {
return OSAtomicTestAndClear(0, &val)
}
}
/// Returns the current value of the boolean.
/// The value may change before this method returns.
func test() -> Bool {
return val != 0
}
}
コードは期待どおりに機能しますが、警告が表示され続けます:
'OSAtomicTestAndSet' was deprecated in iOS 10.0: Use atomic_fetch_or_explicit(memory_order_relaxed) from <stdatomic.h> instead
atomic_fetch_or_explicit(memory_order_relaxed) で動作させることができません。
この警告を取り除くために、現在のコードを iOS 10 に変換する方法を知っている人はいますか?
ありがとうございました!