#ios #selector #swift3
#iOS #селектор #swift3
Вопрос:
NotificationCenter.default.addObserver(self, selector: Selector(("uploaded")), name: NSNotification.Name(rawValue: "uploaded"), object: nil)
Я писал name: «uploaded:» и xcode исправил его в приведенном выше коде. Проблема в том, что при запуске приложения я получаю нераспознанный селектор.
Кто-нибудь знает, как это исправить, чтобы работать с Swift 3
Ответ №1:
Используйте синтаксис (проверка идентификатора) #selector
:
Без параметра:
#selector(uploaded)
С параметром:
#selector(uploaded(_:))
Ответ №2:
NotificationCenter.default.addObserver(self, selector: #selector(ViewController.update), name: NSNotification.Name(rawValue: "uploaded"), object: nil)
func update() {
// do what you want
}
пожалуйста, обратите внимание, что «ViewController» — это имя класса, в котором находится ваша функция
Комментарии:
1. Или, вместо замены
ViewController
именем класса, просто полностью опустите имя класса, и он будет использовать текущий класс.