首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NotificationCenter迁移swift 3到migrating 4.2问题

NotificationCenter迁移swift 3到migrating 4.2问题
EN

Stack Overflow用户
提问于 2018-09-28 03:42:14
回答 1查看 6.4K关注 0票数 5

我很难将代码从Swift 3迁移到Swift 4.2

下面是要迁移的当前代码:

代码语言:javascript
复制
fileprivate func observeKeyboardNotifications() {

    NotificationCenter.default.addObserver(self, selector: #selector(keyboardShow), name: .UIKeyboardWillShow, object: nil)

    NotificationCenter.default.addObserver(self, selector: #selector(keyboardHide), name: .UIKeyboardWillHide, object: nil)
}

以下是我所做的工作:

代码语言:javascript
复制
fileprivate func observeKeyboardNotifications() {

    NotificationCenter.default.addObserver(self, selector: #selector(keyboardShow), name: NSNotification.Name.UIResponder.UIKeyboardWillShowNotification, object: nil)

}

但我还是发现了一个错误:

代码语言:javascript
复制
Type of expression is ambiguous without more context

我一整天都在编写代码,所以我甚至都看不出这段代码有什么问题。有人能帮我解决这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-28 03:49:21

你把事情搞得太复杂了。

使用这段代码,Xcode 10将向您展示正确的修复-it建议。

代码语言:javascript
复制
fileprivate func observeKeyboardNotifications() {

    NotificationCenter.default.addObserver(self, selector: #selector(keyboardShow),
                                           name: UIKeyboardWillShowNotification, object: nil)

}

我的Xcode 10已将其修复为:

代码语言:javascript
复制
fileprivate func observeKeyboardNotifications() {

    NotificationCenter.default.addObserver(self, selector: #selector(keyboardShow),
                                           name: UIResponder.keyboardWillShowNotification, object: nil)

}
票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52547959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档