Die beiden Dateien sollen die Arbeit nach dem aufteilen, was zum Ausführen der App als Ganzes benötigt wird, und nach dem, was für eine "Instanz" benötigt wird, die das sichtbare Ausführen im Hintergrund unterstützt. Dies wäre so etwas wie eine einmalige Konfiguration einer Datenbank, aber die Anzeige verschiedener Wertesätze pro Fenster.
Sie können sich diese als globale und private Versionen vorstellen. Einer wird geteilt und der andere ist auf den einzelnen Eigentümer beschränkt. In gewisser Weise sind sie genau das, was Sie von den Namen erwarten würden.
Unterstützung für mehrere Fenster findet statt
Wenn Sie das nächste Mal ein neues Xcode-Projekt erstellen, wird Ihr AppDelegate in zwei Teile geteilt: AppDelegate.swift und SceneDelegate.swift. Dies ist ein Ergebnis der neuen Unterstützung für mehrere Fenster, die mit iPadOS gelandet ist und die Arbeit des App-Delegierten effektiv in zwei Teile aufteilt.
Ab iOS 13 sollte Ihr App-Delegierter:
- Richten Sie alle Daten ein, die Sie für die Dauer der App benötigen.
- Reagieren Sie auf Ereignisse, die sich auf die App konzentrieren, z. B. auf eine Datei, die für Sie freigegeben wird.
- Registrieren Sie sich für externe Dienste wie Push-Benachrichtigungen.
- Konfigurieren Sie Ihre ersten Szenen.
Im Gegensatz dazu sind Szenendelegierte dazu da, eine Instanz der Benutzeroberfläche Ihrer App zu verwalten. Wenn der Benutzer zwei Fenster erstellt hat, in denen Ihre App angezeigt wird, haben Sie zwei Szenen, die beide von demselben App-Delegaten unterstützt werden.
Beachten Sie, dass diese Szenen so konzipiert sind, dass sie unabhängig voneinander funktionieren. Ihre Anwendung wird also nicht mehr in den Hintergrund verschoben, sondern in einzelne Szenen. Der Benutzer kann eine in den Hintergrund verschieben, während eine andere geöffnet bleibt.
Mit freundlicher Genehmigung von https://www.hackingwithswift.com/articles/193/whats-new-in-ios-13