【发布时间】:2018-03-06 11:57:10
【问题描述】:
如何更新领域对象 t 点 #1。
问题是 requestAuthorization 调用需要对结果的依赖,这会产生一个单独的线程。
使用 DispatchQueue.main.async 没有帮助。
@IBAction func notificationToggle(_ sender: UISwitch) {
if (sender.isOn){
//Notifications being turned on
UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound, .badge]) {
(granted, error) in
print("Permission granted: \(granted)")
if granted{
myRealmObject.generateNotificationItems() //#1. Throws error due to not being in the main thread
}
else{
self.showNotificationsPrompt()
}
}
}
else{
myRealmObject.deleteNotificationItems() //#2. This is fine, being in the main thread.
}
}
【问题讨论】:
标签: swift multithreading realm