2016-03-25 3 views
0

Das Problem ist, ich versuche, gespeicherte Daten aus Core Data Store abrufen, aber "Fehlerdaten" oder nicht sicher, was das ist, da bin ich mir sicher ich gespeicherten Daten korrekt (gültig Ortskoordinaten) Mein Code in view-Controller:iOS-Core-Daten NSFetchedResultController.fetchedObject gibt Fehlerdaten und (0,0) Annotation

override func viewDidLoad() { 
     do { 
      try fetchedResultsController.performFetch() 
     } catch {} 
     fetchedResultsController.delegate = self 
     //fetch all pins from core data and load 
     let pins = fetchedResultsController.fetchedObjects as! [Pin] 
     mapView.addAnnotations(pins) 
     print(pins.count) /// 10 
     print(pins) 
     print(pins[0].coordinate) 
     print(pins[1].coordinate) 
} 

ich bin sicher, dass ich jedes Objekt speichern erfolgreich jedes Mal. Ich drucke einige Fakten aus: pins.count hat eine Nummer. Dies ist jedoch ungerade aus dem Rest Drucken Ich habe "data: <fault>" und Nullposition.


Pin: 0x7fdc0b40e160> (entity: Pin; id: 0xd000000000080000 <x-coredata://50885CE6-70AB-4AA5-AA84-19D895E4F062/Pin/p2> ; data: <fault>)]) 
CLLocationCoordinate2D(latitude: 0.0, longitude: 0.0) 
CLLocationCoordinate2D(latitude: 0.0, longitude: 0.0) 

Antwort

0

Es ist nicht ein Fehler, wenn Sie bekommen < Fehler> in Kerndaten. Es ist eine Funktion der Kerndatenverarbeitung. Core Data hat eine optimierte Methode implementiert, um den Speicherbedarf niedrig zu halten, ohne die Leistung zu beeinträchtigen. Falsche Technik hilft, das zu erreichen. Es lädt nur Daten in den Speicher, wenn sie benötigt werden. Sie haben einen Fehler aufgrund eines der folgenden Gründe:

1) Es ist wahrscheinlich, Sie haben einen Fehler gemacht, während Sie Ihre Daten gespeichert haben.

2) Logischer Fehler bei der Verwaltung der Beziehungseigenschaften (optional und obligatorisch) der Kerndaten.

3) Die Kerndaten konnten keinen Fehler erfüllen (d. H. Daten aus dem persistenten Speicher laden). (Dies könnte auch auf den logischen Fehler Nummer 2 zurückzuführen sein). Auch wenn Core-Daten keine Ausnahme auslösen, nachdem der Fehler nicht erfüllt werden konnte, weil dies standardmäßig erreicht wird. Sie erhalten Nullen in allen Eigenschaften des verwalteten Objekts eines nicht zugänglichen verwalteten Objekts.

Besuchen Sie http://code.tutsplus.com/tutorials/what-is-a-core-data-fault--cms-25157 für weitere Informationen über Fehler. Sie könnten eine Idee über Fehler dort bekommen und möglicherweise, warum Sie diesen Fehler bekommen haben.

Verwandte Themen