gpt4 book ai didi

ios - 接收到的通知的方法处理程序使应用程序崩溃。 :(

转载 作者:搜寻专家 更新时间:2023-10-30 23:10:42 25 4
gpt4 key购买 nike

我正在处理外部附件框架,这是我注册通知的代码..

override func viewDidLoad() {
super.viewDidLoad()

EAAccessoryManager.sharedAccessoryManager().registerForLocalNotifications()

NSNotificationCenter.defaultCenter().addObserver(self, selector: "accessoryDidConnectNotify", name: EAAccessoryDidConnectNotification, object: nil)
}

这是我的方法处理函数...

func accessoryDidConnectNotify(notification: NSNotification){


let alert : UIAlertController = UIAlertController(title: "Alert", message: "MFi Accessory Connected", preferredStyle:UIAlertControllerStyle.Alert)

alert.addAction(UIAlertAction(title: "ok", style: UIAlertActionStyle.Default, handler: { (action) -> Void in

}))

self.presentViewController(alert, animated: true, completion: nil)

我的问题是,如果我不在 accessoryDidConnectNotify 函数中提供任何参数,那么当我插入 MFi 配件时,应用程序会正常运行并继续显示警报 View 。

(i.e)  func accessoryDidConnectNotify(){   // works fine (with no arguments)
}

但我需要在我的 accessoryDidConnectNotify 函数中使用 NSNotification 对象来获取配件的名称...但是如果我添加 NSNotification 对象,应用程序会在插入 MFi 配件时崩溃...

(i.e)   func accessoryDidConnectNotify(notification: NSNotification){
} // crashes app (with arguments)

如果有人也遇到了这个问题......请分享

最佳答案

如果你的方法没有任何参数那么你可以这样调用它:

NSNotificationCenter.defaultCenter().addObserver(self, selector: "accessoryDidConnectNotify", name: EAAccessoryDidConnectNotification, object: nil)

通过使用 "accessoryDidConnectNotify"

这样您就可以像这样使用该方法:

func accessoryDidConnectNotify(){   // works fine (with no arguments)

//Your code
}

但是如果你的方法有参数那么你必须这样调用它:

NSNotificationCenter.defaultCenter().addObserver(self, selector: "accessoryDidConnectNotify:", name: EAAccessoryDidConnectNotification, object: nil)

通过使用此 “accessoryDidConnectNotify:”。在这里你必须添加 :.

现在您可以通过这种方式调用带有参数的方法:

func accessoryDidConnectNotify(notification: NSNotification){

//Your code
}

关于ios - 接收到的通知的方法处理程序使应用程序崩溃。 :(,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31266447/

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