[英]Main Thread Checker warning with CoreMotion, only appearing on 2018 model iPhones
[英]Swift Local Notifications Checker Main Thread Only
我有一个完成返回布尔值的方法。 但我不知道如何解决这个错误。
错误
UISwitch.isOn must be used from main thread only
按钮动作
@IBAction func notificationSwitch(_ sender: Any) {
LocalNotification().checkEnabled(completion: { (success) -> Void in
// When download completes,control flow goes here.
if success == false{
print("Cant Turn On")
self.notificationToggle.isOn = false
} else {
print("Can Turn On")
if self.notificationToggle.isOn == true {
self.notificationToggle.isOn = false
} else {
self.notificationToggle.isOn = true
}
}
})
}
也已经尝试将LocalNotifications()....
包装在DispatchQueue.main.async
中,但仍然出现相同的错误
您快到了。 不是checkEnabled
需要包装在调用中才能进入主线程,而是它“内部”的东西:
LocalNotification().checkEnabled(completion: { (success) -> Void in
DispatchQueue.main.async {
if success == false {
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.