【问题标题】:Xcode 6 - UIKeyboardDidShowNotification unrecognized selectorXcode 6 - UIKeyboardDidShowNotification 无法识别的选择器
【发布时间】:2015-02-27 02:03:32
【问题描述】:

我正在尝试滚动视图(以防止键盘隐藏文本字段),但我似乎无法让键盘通知正常工作。

此代码基于 Apple 的文档(请参阅 here)。

首先,我们在UIViewController 子类的viewDidLoad() 中添加监听器。

NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWasShown"), name: UIKeyboardDidShowNotification, object: nil)

当事件触发时,它会立即崩溃并显示unrecognized selector 错误消息,甚至不会打印到控制台:

func keyboardWasShown(notification: NSNotification) {
    println("Keyboard will be SHOWN")
}

但如果没有参数,我会在控制台中得到“Keyboard will be SHOWN”。

func keyboardWasShown() {
    println("Keyboard will be SHOWN")
}

我做错了什么?

【问题讨论】:

    标签: ios swift nsnotificationcenter unrecognized-selector


    【解决方案1】:

    那是因为你使用的选择器没有指定它应该通知的方法有参数。

    试试这个:

    NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("keyboardWasShown:"), name: UIKeyboardDidShowNotification, object: nil)
    

    (注意选择器中的:。)

    参见Objective-C: Calling selectors with multiple arguments(这仍然适用于 Swift)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-14
      • 2014-03-24
      • 1970-01-01
      • 1970-01-01
      • 2018-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多