2016-01-08 39 views
2

我想在後臺執行一些任務並添加取消任務的功能。如何在Swift中創建volatile布爾值?

是這樣的:從另一個線程

while !isCanceled && someOtherCondition() { 
    doSome() 
} 

並取消任務:

func cancel() { 
    isCanceled = true 
} 

在Java中我可以聲明isCancelled揮發,也就足夠了。我如何在Swift中執行此操作?

+0

[本Q&A](http://stackoverflow.com/questions/31954537/swift-atomic-boolean)可以是相關的。 –

+0

也可能是對Q這裏的評論:http://stackoverflow.com/questions/24971489/how-to-declare-volatile-variables-in-swift – dfri

+1

爲什麼不使用委託? –

回答

1

看來,這是你的答案:

斯威夫特沒有(還)有一個明確的內存模型,所以公司的C動盪的不 直接等同。話雖如此,C直到C11都沒有明確定義的內存模型,所以你可以在沒有一個的情況下走很長的路線 。

https://forums.developer.apple.com/thread/46256