l'L*_*L'l 6 macos xcode ios swift
我试图DispatchWork在Swift Playground中测试一个项目的取消,虽然在执行的前几毫秒内有一个错误,我不确定它实际指示的是什么,也不能判断错误是否导致取消而不是cancel()方法......
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()
Run Code Online (Sandbox Code Playgroud)
Run Code Online (Sandbox Code Playgroud)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.}
有人知道这个错误表明了什么吗?
设置needsIndefiniteExecution为true可以省略此警告.操场执行比线程处理更早结束时发出警告.
import PlaygroundSupport
PlaygroundPage.current.needsIndefiniteExecution = true
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
664 次 |
| 最近记录: |