這是我的項目之一滿足:如何在dispatch_async中調試當前隊列?
private func updateBadgeView() {
dispatch_async(dispatch_get_main_queue()) {
if UIApplication.sharedApplication().applicationIconBadgeNumber > 0 {
self.newMessagesBadgeView.hidden = false
self.newMessagesCountLabel.text = String(UIApplication.sharedApplication().applicationIconBadgeNumber)
} else {
self.newMessagesBadgeView.hidden = true
}
}
}
而且我想這dispatch_async
與隊列沒用在這裏。我如何查看隊列?我真的需要這裏嗎?我需要檢查它是否與沒有阻塞的隊列相同。
上述功能是內部的UIViewController
子類,稱爲viewDidLoad
和viewDidAppear
UPDATE:
我知道,因爲在IOS中的錯誤,在這裏需要:
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
dispatch_async(dispatch_get_main_queue()) {
self.presentOverlayController(selectViewController)
}
}
你要檢查,如果該方法已經在主隊列運行?請參閱http://stackoverflow.com/questions/5662360/gcd-to-perform-task-in-main-thread。但是,在主隊列上調用viewDidLoad等。 –
奇怪的是,我從來沒有這樣做,如果你刪除dispatch_async –