5
Swift Playground内のDispatchWork
アイテムのキャンセルをテストしようとしていますが、最初の数ミリ秒の実行中にエラーがありますが、実際には何かがわかりません示し、またエラーがキャンセルではなくcancel()
方法を引き起こしている場合、私が言うことができる...Xcode:Error Domain = DVTPlaygroundCommunicationErrorDomain Code = 1
func testDispatchWorkItems() {
let queue = DispatchQueue.global(qos: .userInitiated)
var item: DispatchWorkItem?
// create work item
item = DispatchWorkItem {
for i in 0 ... 100000 {
if item!.isCancelled { break }
print(i)
}
}
// start it
queue.async(execute: item!)
// after three seconds, stop it
queue.asyncAfter(deadline: .now() + 3) {
item?.cancel()
}
}
testDispatchWorkItems()
2016-10-26 11:14:33.898 com.apple.dt.Xcode.PlaygroundStub-macosx[30685:18567692] Error encountered communicating with Xcode: Error Domain=DVTPlaygroundCommunicationErrorDomain Code=1 "Cannot send data because stream is closed." UserInfo={NSLocalizedDescription=Cannot send data because stream is closed.}
は、誰かがそのエラーを示すされているもののアイデアを持っていますか?
同じ問題が見つかりました。それは単に遊び場で起こった - あなたがアプリケーション内でこれを実行するなら、それはうまくいくはずです。誰かが知っている場合、遊び場にこのような制限がある理由を学ぶことができます。 –