我试着用这段代码:
func simpleEscaping(test: String, complete: @escaping (_ testEscaped: String)->()) {
complete(test)
}
func testBgAsync() {
let backgroundQueue = DispatchQueue.global(qos: DispatchQoS.QoSClass.background)
simpleEscaping(test: "Test") { (testEscaped) in
backgroundQueue.async {
sleep(1)
print("Test escaped value is: \(testEscaped)")
}
}
}
testBgAsync()
它在操场上按预期工作:
“测试转义值为:测试”
显示。
我还在实际设备上尝试了此代码:
-
iPhonex v11.4版
-
iPhone5C v10.3.3版
iphonex的结果相同:
“测试转义值为:测试”
对于iPhone5C:没有结果。尝试放置一些断点并看到
backgroundQueue.async {}
未运行。
它是因为我的错误实现,还是因为设备版本的不同而有所不同?