无法识别的选择器发送到实例 Swift NSNotification
unrecognized selector sent to instance Swift NSNotification
我在 Swift 的消息应用程序上观看了这个视频并逐字复制。然而,最近对 Xcode 进行了一些更新,所以我不确定这是问题所在还是我输入了错误的内容。我还查看了与我类似的其他问题,但仍然找不到问题所在。
我放入 viewDidLoad() 的代码处理显示键盘:
NSNotificationCenter.defaultCenter().addObserver(self, selector: "keyboardWasShown", name: UIKeyboardDidShowNotification, object: nil)
然后我在这里调用keyboardWasShow函数:
func keyboardWasShown(notification: NSNotification) {
let dict : NSDictionary = notification.userInfo!
let s : NSValue = dict.valueForKey(UIKeyboardFrameEndUserInfoKey) as! NSValue
let rect : CGRect = s.CGRectValue()
UIView.animateWithDuration(0.3, delay: 0, options: .CurveLinear, animations: {
self.resultsScrollView.frame.origin.y = self.scrollViewOriginalY - rect.height
self.frameMessageView.frame.origin.y = self.frameMessageOriginalY - rect.height
var bottomOffset : CGPoint = CGPointMake(0, self.resultsScrollView.contentSize.height - self.resultsScrollView.bounds.size.height)
self.resultsScrollView.setContentOffset(bottomOffset, animated: false)
}, completion: {
(finished: Bool) in
//
})
}
我认为是 keyboardWasShown 函数的原因是因为输出显示 keyboardWasShown]: unrecognized selector sent to instance 0x7f848c12be40
如有任何帮助,我们将不胜感激!
您实现的方法需要一个参数,因此您需要在选择器名称的末尾添加一个冒号。
let center = NSNotificationCenter.defaultCenter()
center.addObserver(self,
selector: "keyboardWasShown:",
name: UIKeyboardDidShowNotification,
object: nil)
我在 Swift 的消息应用程序上观看了这个视频并逐字复制。然而,最近对 Xcode 进行了一些更新,所以我不确定这是问题所在还是我输入了错误的内容。我还查看了与我类似的其他问题,但仍然找不到问题所在。
我放入 viewDidLoad() 的代码处理显示键盘:
NSNotificationCenter.defaultCenter().addObserver(self, selector: "keyboardWasShown", name: UIKeyboardDidShowNotification, object: nil)
然后我在这里调用keyboardWasShow函数:
func keyboardWasShown(notification: NSNotification) {
let dict : NSDictionary = notification.userInfo!
let s : NSValue = dict.valueForKey(UIKeyboardFrameEndUserInfoKey) as! NSValue
let rect : CGRect = s.CGRectValue()
UIView.animateWithDuration(0.3, delay: 0, options: .CurveLinear, animations: {
self.resultsScrollView.frame.origin.y = self.scrollViewOriginalY - rect.height
self.frameMessageView.frame.origin.y = self.frameMessageOriginalY - rect.height
var bottomOffset : CGPoint = CGPointMake(0, self.resultsScrollView.contentSize.height - self.resultsScrollView.bounds.size.height)
self.resultsScrollView.setContentOffset(bottomOffset, animated: false)
}, completion: {
(finished: Bool) in
//
})
}
我认为是 keyboardWasShown 函数的原因是因为输出显示 keyboardWasShown]: unrecognized selector sent to instance 0x7f848c12be40
如有任何帮助,我们将不胜感激!
您实现的方法需要一个参数,因此您需要在选择器名称的末尾添加一个冒号。
let center = NSNotificationCenter.defaultCenter()
center.addObserver(self,
selector: "keyboardWasShown:",
name: UIKeyboardDidShowNotification,
object: nil)