Wie bekomme ich eine Referenz zum AppDelegate in Swift?
Letztendlich möchte ich die Referenz verwenden, um auf den verwalteten Objektkontext zuzugreifen.
Wie bekomme ich eine Referenz zum AppDelegate in Swift?
Letztendlich möchte ich die Referenz verwenden, um auf den verwalteten Objektkontext zuzugreifen.
Die andere Lösung ist richtig, da sie Ihnen eine Referenz auf den Delegierten der Anwendung gibt, aber dies wird es Ihnen nicht ermöglichen, auf Methoden oder Variablen zuzugreifen, die von Ihrer Unterklasse von UIApplication hinzugefügt wurden, z. B. Ihren verwalteten Objektkontext. Um dies zu lösen, müssen Sie einfach zu "AppDelegate" oder was auch immer Ihre UIApplication-Unterklasse heißt, umwandeln. In Swift 3, 4 & 5 wird dies wie folgt durchgeführt:
let appDelegate = UIApplication.shared.delegate as! AppDelegate
let aVariable = appDelegate.someVariable
Fügen Sie am Ende des Codes in der AppDelegate-Klasse hinzu
func appDelegate() -> AppDelegate {
guard let delegate = UIApplication.shared.delegate as? AppDelegate else {
fatalError("Konnte App-Delegierten nicht erhalten")
}
return delegate
}
Um den AppDelegate-Verweis überall im Code zu verwenden?
Zum Beispiel: Rufen Sie die AppDelegate-Methode mit dem Namen setRoot auf
appDelegate().setRoot()
Szene-Delegierten-Beispiel:
func sceneDelegate() -> SceneDelegate {
guard let sceneDelegate = UIApplication.shared.connectedScenes.first?.delegate as? SceneDelegate else {
fatalError("Szene-Delegierten konnte nicht erhalten werden")
}
return sceneDelegate
}
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.