2014-09-17 3 views
0

Попытки добавить наблюдатель клавиатуры в быстром и получает ошибкуNSNotificationCenter не defaultCenter»ОШИБКА Имен членов -Swift

NSNotificationcenter does not have a member names 'defaultCenter"

с использованием

NSNotificationCenter().defaultCenter().addObserver(self, selector: Selector("keyboardWillAppear"), name: UIKeyboardWillShowNotification, object: nil) 
NSNotificationCenter().defaultCenter().addObserver(self, selector: Selector("keyboardWillHide"), name: UIKeyboardWillHideNotification, object: nil) 

Как сообщили из следующего NSNotificationCenter addObserver in Swift Swift: Keyboard Observer via NSNotificationCenter doesn't work

Если я удалю defaultCenter я не получаю ошибку, но также не наблюдающей клавиатуры

NSNotificationCenter().addObserver(self, selector: Selector("keyboardWillAppear"), name: UIKeyboardWillShowNotification, object: nil) 
NSNotificationCenter().addObserver(self, selector: Selector("keyboardWillHide"), name: UIKeyboardWillHideNotification, object: nil) 

ответ

4

defaultCenter является метод класса (также называемый метод типа в Swift), поэтому

NSNotificationCenter.defaultCenter() 

и не

NSNotificationCenter().defaultCenter() 

, который вызвал бы экземпляр встретил hoddefaultCenter() на объекте создано и получено NSNotificationCenter().

+0

Спасибо Мартин, я скопировал и наклеил этот фрагмент из наиболее употребимого ответа здесь http://stackoverflow.com/questions/24999605/swift-keyboard-observer-via-nsnotificationcenter-doesnt-work и пропустил это. – JSA986

Смежные вопросы