gpt4 book ai didi

nsnotifications - 将代码转换为 Swift 4.2 时通知名称出错

转载 作者:行者123 更新时间:2023-12-04 13:03:28 24 4
gpt4 key购买 nike

下面的代码在 Swift 4.2 之前运行良好:

NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillChange(notification:)), name: NSNotification.Name.UIKeyboardWillShow, object: nil)

当我单击“修复”选项时,它变为:
NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillChange(notification:)), name: NSNotification.Name.UIResponder.keyboardWillShowNotification, object: nil)

但它仍然被标记为错误。这是解释:
Type 'NSNotification.Name' has no member 'UIResponder'

然后我尝试删除“UIResponder”:
NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillChange(notification:)), name: NSNotification.Name.

......但我不知道我应该如何完成它。

最佳答案

正确的形式是:

UIResponder.keyboardWillShowNotification

...所以,您的代码变为:
NotificationCenter.default.addObserver(
self,
selector: #selector(keyboardWillChange(notification:)),
name: UIResponder.keyboardWillShowNotification,
object: nil
)

这是 Xcode 10 的一个已知问题。自动修复 - 在更正通知名称时,Swift 4.2 无法正常工作。

在 Swift 4.2 中,很多 Notification.Name实例成为其他类中的实例变量。例如, keyboardWillShowNotification现在是 UIResponder 的实例变量.

关于nsnotifications - 将代码转换为 Swift 4.2 时通知名称出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52466147/

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