Я работаю над быстрым приложением os x, и у меня возникли проблемы с пониманием структуры userNoticiation/didActivateNotification. Я просмотрел документацию и обыскал SO, но я все еще застрял. Любое наведение на следующий код будет высоко ценится:Swift NSUserNotificationCenter didActivateNotification не работает
func notify(message: String, callBack: String) {
println(message)
println(callBack)
var notification:NSUserNotification = NSUserNotification()
notification.title = "New Phone Call"
notification.informativeText = message
notification.actionButtonTitle = "Lookup"
notification.hasActionButton = true
var center:NSUserNotificationCenter = NSUserNotificationCenter.defaultUserNotificationCenter()
center.delegate = self
center.scheduleNotification(notification)
}
func notify (center: NSUserNotificationCenter, didActivateNotification notification: NSUserNotification){
center.delegate = self
println("clicked") //this does not print
}
В уведомлении отображается точно так, как я хотел бы, чтобы это. Нажатие кнопки «Поиск», которую я определил, приведет к моему приложению на первый план при первом нажатии, но код, который я ожидал бы обработать, не срабатывает.
Заранее спасибо.
Это действительно работает? Я попробовал это, когда мои клики уведомлений не срабатывали, и он отправляет сообщение об ошибке «необязательно» может применяться только к протоколам « –
@ChrisR Возможно, это было с Swift 1.x? Вы пытались удалить «необязательный» квалификатор? –
Документация для функции делегирования 'didActivateNotification' является [здесь] (https://developer.apple.com/library/mac/documentation/Foundation/Reference/NSUserNotificationCenterDelegate_Protocol/index.html#//apple_ref/occ/intfm/NSUserNotificationCenterDelegate/userNotificationCenter: didActivateNotification :). –