protocol PushNotification {
func application(application: UIApplication, didRegisterUserNotificationSettings notificationSettings: UIUserNotificationSettings)
}
extension PushNotification where Self:AppDelegate {
func application(application: UIApplication, didRegisterUserNotificationSettings notificationSettings: UIUserNotificationSettings) {
print("Register for Push Notifications Successful")
}
}
Я пытаюсь получить мое приложение делегата вместо вызова его собственныйРасширение протокола переопределение Встроенная функция член класса
func application(application: UIApplication, didRegisterUserNotificationSettings notificationSettings: UIUserNotificationSettings)
Вызов расширение, но не похоже на работу? Возможно ли это? в быстрых 2,3? или быстро 3?
Ожидаемые Поведения
Так что, когда я пишу
let notificationSettings = UIUserNotificationSettings(
forTypes: [.Badge, .Sound, .Alert], categories: nil)
application.registerUserNotificationSettings(notificationSettings)
application.registerForRemoteNotifications()
Он должен вызывать
func application(application: UIApplication, didRegisterUserNotificationSettings notificationSettings: UIUserNotificationSettings)
который принадлежит к приложению делегата, который я обычно должны переопределить в приложение делегата.
Я ожидаю, что вместо этого вызовите расширение протокола. Вот делегат приложения
class AppDelegate: UIResponder, UIApplicationDelegate, AWSDKDelegate, PushNotification {
// Could this function be called from my protocol extension instead?
// Rather than me overriding this function ?
// func application(application: UIApplication, didRegisterUserNotificationSettings notificationSettings: UIUserNotificationSettings) {
// print("Register for Push Notifications Successful")
// }
}
Не могли бы вы уточнить, что происходит, и что вы хотите? – Alexander
Так что, когда я называю Пусть notificationSettings = UIUserNotificationSettings ( forTypes: [.Badge, .Sound, .Alert], категории: ноль) application.registerUserNotificationSettings (notificationSettings) application.registerForRemoteNotifications() он должен вызвать func application (application: UIApplication, didRegisterUserNotificationSettings notificationSettings: UIUserNotificationSettings), который принадлежит делегату приложения, который я обычно должен переопределять в делегате приложения. , но расширение моего протокола не вызывается. –
Ожидается, что что-то поймут из этого? – Alexander