Ich habe einen Verweis auf meinen App-Delegierten
%Vor%Das funktioniert gut, aber diese Codezeile gibt einen Fehler:
%Vor%Es gibt mir den folgenden Fehler:
%Vor%Ich habe sie direkt unter meiner Klasse so erklärt:
%Vor% Das Seltsame ist, wenn ich den Code in viewDidLoad
oder in einer Funktion einfügen, funktioniert der Code einfach gut. Und ich kann nicht herausfinden, was das Problem ist.
Wie kann ich diesen Fehler beheben?
BEARBEITEN: Ich muss hier auch auf Kontext zugreifen:
%Vor%Dies ist, was ich dank @Antonio funktionierte, aber jetzt bin ich nicht mehr in der Lage, auf Kontext und appDel zuzugreifen
%Vor% In swift können Sie nicht auf self
verweisen, bis alle Klasseneigenschaften initialisiert wurden.
Sie verwenden implizit self
in dieser Zeile:
Die Lösung besteht darin, sie in einem Initialisierer zu initialisieren, aber mit etwas wie:
%Vor%Lesen Sie auch hier , eine ähnliche Frage, die vor ein paar Tagen auf SO gestellt wurde.
Eine Möglichkeit, den Kontext zu instanziieren, besteht darin, statt AppDelegate
einen Drilldown auszuführen %Vor%'
Und sagen Sie in Ihrem View-Controller, dass er dynamisch auffüllen soll
var context: NSManagedObjectContext!
Vergessen Sie auch nicht anzurufen
import CoreData
überall dort, wo Sie diese Objekte verwenden
Noch eine letzte Methode: Verwenden Sie eine Schließung, damit Ihre Referenz zur Laufzeit geschieht:
var context: NSManagedObjectContext {
let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
return appDelegate.managedObjectContext
}