gpt4 book ai didi

swift - NSNotification 永远不会被发送

转载 作者:可可西里 更新时间:2023-11-01 00:18:46 24 4
gpt4 key购买 nike

我正在尝试将 NSNotificationCenter 与 Swift 结合使用,但遇到了问题。我正在尝试以下操作:

class MyClass {

init() {

NSNotificationCenter.defaultCenter().addObserver(self, selector: "stopTimer", name: UIApplicationDidEnterBackgroundNotification, object: [])
}

func stopTimer() {
println("Entered background!")
}
}

当按下主页按钮时,观察者永远不会调用选择器,因此我的消息永远不会被打印出来。

请注意,我在最后发送了一个空对象,addObserver 的方法签名需要一个隐式展开的对象并将其设置为 nil 结果是 应用进入后台时出现 EXC_BAD_ACCESS 错误。

有什么想法吗?

编辑

我忘了说这段代码是从我的项目中包含的框架中执行的。

执行代码给我一个错误的访问中止信号。

enter image description here

最佳答案

您应该能够为可选参数传递 nil。你能详细说明如果你这样做会发生什么吗?这对我有用:

func init() {
super.init()

NSNotificationCenter.defaultCenter().addObserver(self, selector: "stopTimer", name: UIApplicationDidEnterBackgroundNotification, object: nil)
}

func stopTimer() {
println("Entered background!")
}

deinit {
NSNotificationCenter.defaultCenter().removeObserver(self)
}

关于swift - NSNotification 永远不会被发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24099772/

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