gpt4 book ai didi

ios - 为什么 Swift 中的 postNotification 在第二次调用时失败?

转载 作者:行者123 更新时间:2023-11-30 13:30:35 24 4
gpt4 key购买 nike

首先,我从 locationManager 调用一个方法来更新位置(didUpdateLocations)。在这个方法中,我使用了 postNotification,一切正常。但是,当我第二次从 locationManager 调用该方法时,出现错误,“由于未捕获的异常‘NSInvalidArgumentException’而终止应用程序,原因:‘-[NSMallocBlock sendMessageNotification:]:无法识别的选择器发送到实例0x17026fac0'"

[信息变量错误]

func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
debugLog("locations \(locations)")

if let location = locations.last {

let mMessage = Message()
mMessage.latitude = location.coordinate.latitude
mMessage.longitude = location.coordinate.longitude
let userInfo = ["message": JSONSerializer.toJson(mMessage)]

if !userInfo.isEmpty {
NSNotificationCenter.defaultCenter().postNotificationName("__SEND_MESSAGE__",
object: nil,
userInfo: userInfo)
}


}

最佳答案

在我的代码中缺少一个删除观察者,在我添加通知的同一个类中。

deinit {
// perform the deinitialization
NSNotificationCenter.defaultCenter().removeObserver(self)
}

谢谢。

关于ios - 为什么 Swift 中的 postNotification 在第二次调用时失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36610364/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com