以下功能检查受保护数据是否可用。
func isProtectedDataAvailable(_ completion: ((_ isProtectedDataAvailable: Bool)->Void)?) {
DispatchQueue.main.async {
completion?(UIApplication.shared.isProtectedDataAvailable)
}
}
如何更改函数,以便即使主线程在以下设置中暂停时也可以调用它:
let dispatch = DispatchGroup()
dispatch.enter()
isProtectedDataAvailable { isProtectedDataAvailable in
//...
dispatch.leave()
}
dispatch.wait()
上面的wait()
将暂停主队列,永远不会调用完成处理程序。