Частично объявление протокола UIApplicationDelegate
выглядит следующим образом:
public protocol UIApplicationDelegate : NSObjectProtocol {
optional public func applicationDidFinishLaunching(_ application: UIApplication)
optional public func application(_ application: UIApplication, willFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool
optional public func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool
optional public func applicationDidBecomeActive(_ application: UIApplication)
optional public func applicationWillResignActive(_ application: UIApplication)
...
Обратите внимание, что функции объявлены как необязательно .Это означает, что код, соответствующий протоколу, не должен реализовывать эти функции.
Если вашему приложению не нужно делать ничего особенного, когда оно входит в фон, вам не нужно реализовывать applicationDidEnterBackground
.Если вашему приложению нужно что-то сделать, вы бы реализовали эту функцию.