gpt4 book ai didi

ios - Swift:通过NotificationCenter默认函数参数值

转载 作者:行者123 更新时间:2023-11-30 11:10:07 26 4
gpt4 key购买 nike

我有一个带有默认参数值的函数,如下所示:

@objc func myFunc(theFlag: Bool = false) {

}

该函数通过通知中心调用

NotificationCenter.default.addObserver(self, selector: #selector(myFunc), name: MyNotificationName, object: nil)

当 MyNotificationName 发布时,myFunc 通过通知中心被调用。

我假设 theFlag 的默认值设置为“false”,并且它在大多数设备上按我的预期工作。但是,我发现 theFlag 在 32 位设备上设置为“true”。

我想知道这是否不是通过通知中心调用具有默认值的函数的正确方法。有没有官方的方式可以做到这一点?

我正在 Swift 4.1、Xcode 9.4.1 上进行测试

最佳答案

正确的做法是

@objc func myFunc(_ notification:Notification) // OR NSNotification also

不要期望 NotificationCenter.defaulttheFlag: Bool = false 设置值,

NotificationCenter.default.addObserver(self, selector: #selector(myFunc), name: MyNotificationName, object: nil)

或者

NotificationCenter.default.addObserver(self, selector: #selector(myFunc(_:)), name: MyNotificationName, object: nil)

//

如果您想发送一个值,请将其插入object/userInfo

NotificationCenter.default.post(name:MyNotificationName, object:<#Here#>, userInfo:<#OrHere#>)

关于ios - Swift:通过NotificationCenter默认函数参数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52266551/

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