Я хотел бы расширить протокол UIApplicationDelegate
и обеспечить реализацию по умолчанию для метода application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool
. Однако реализация по умолчанию, которую я предоставил, не вызвана.Расширение протокола UIApplicationDelegate
Возможно ли вообще продлить протокол UIApplicationDelegate
(относительно UIApplication
, являющегося одноэлементным, или метод протокола является необязательным), или я делаю что-то неправильно?
благодаря
AppDelegate.swift:
import UIKit
extension UIApplicationDelegate{
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
print("does not print anything on launch.")
return true
}
}
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
}
- приложение быстро или obj-c при его создании? что весь код в вашем расширении? у вас есть набор экземпляров делегата и какие функции он реализует? – Wain
Что я пытаюсь сделать с этим, мне любопытно? Я не вижу смысла давать appDelegate реализацию по умолчанию, так как есть только 1 appDelegate. – crashoverride777
@ crashoverride777 Я хотел бы разработать протокол, который можно использовать в нескольких проектах с контейнерами, что обеспечивает функциональность push-уведомления (например, UIPushNotificationDelegate). Я также хотел бы расширить протокол UIApplicationDelegate, предоставить реализацию по умолчанию для didRegisterForRemoteNotificationsWithDeviceToken, когда реализатором является UIPushNotificationDelegate, и отправить токен устройства на сервер с использованием методов UIPushNotificationDelegate в качестве реализации по умолчанию. – user1994321