我正在主视图控制器中作为子线程/背景线程开始执行任务。
class MainViewController: UIViewController {
let group = DispatchGroup()
override func viewDidLoad() {
super.viewDidLoad()
group.enter()
DispatchQueue.global(qos: .userInteractive).async {[unowned self] in
self.checkFolders()
sleep(50)
print("finished sleeping")
self.group.leave()
}
我希望另一个viewController阻塞,直到此子线程完成任务为止。
class FirstTableViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
tableView.delegate = self
tableView.dataSource = self
let startingPoint = Date()
MainViewController().group.wait()
print("\(startingPoint.timeIntervalSinceNow * -1) seconds elapsed")
dataCells = createArrayData() //create dataObjects
}
但是,它似乎并没有阻塞。我究竟做错了什么? 谢谢。