swift在通知时的变化

来源:互联网 发布:泰安优化公司 编辑:程序博客网 时间:2024/06/06 14:24

我使用的是 ios开发指南:从零基础到app stroe上架(第3版)教材

现在已经步入了ios10时代,xcode也已经更新到8.2了。
我在使用课本中的代码的时候,发现其无法正常编译通过。

3.4节

override func viewWillAppear(animated: Bool) {        super.viewWillAppear(animated)        //注册键盘出现通知        NSNotificationCenter.defaultCenter().addObserver(self, selector: "keyboardDidShow:", name: UIKeyboardDidShowNotification, object: nil)        //注册键盘隐藏通知        NSNotificationCenter.defaultCenter().addObserver(self, selector: "keyboardDidHide:", name: UIKeyboardDidHideNotification, object: nil)    }    override func viewWillDisappear(animated: Bool) {        super.viewWillDisappear(animated)        //解除键盘出现通知        NSNotificationCenter.defaultCenter().removeObserver(self, name: UIKeyboardDidShowNotification, object: nil)        //解除键盘隐藏通知        NSNotificationCenter.defaultCenter().removeObserver(self, name: UIKeyboardDidHideNotification, object: nil)    }    func keyboardDidShow(notification: NSNotification) {        NSLog("键盘打开")    }    func keyboardDidHide(notification: NSNotification) {        NSLog("键盘关闭")    }

导入工程后,被xcode修改为

override func viewWillAppear(_ animated: Bool) {        super.viewWillAppear(animated)        //注册键盘出现通知        NotificationCenter.default.addObserver(self, selector: #selector(ViewController.keyboardDidShow(_:)), name: NSNotification.Name.UIKeyboardDidShow, object: nil)        //注册键盘隐藏通知        NotificationCenter.default.addObserver(self, selector: #selector(ViewController.keyboardDidHide(_:)), name: NSNotification.Name.UIKeyboardDidHide, object: nil)    }    override func viewWillDisappear(_ animated: Bool) {        super.viewWillDisappear(animated)        //解除键盘出现通知        NotificationCenter.default.removeObserver(self, name: NSNotification.Name.UIKeyboardDidShow, object: nil)        //解除键盘隐藏通知        NotificationCenter.default.removeObserver(self, name: NSNotification.Name.UIKeyboardDidHide, object: nil)    }    func keyboardDidShow(_ notification: Notification) {        NSLog("键盘打开")    }    func keyboardDidHide(_ notification: Notification) {        NSLog("键盘关闭")    }

此前我在写NSNotificationCenter时,xcode提示我说这个方法名已经被修改为NotificationCenter

0 0
原创粉丝点击