Daten vom Server + Core Data

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Daten vom Server + Core Data

      Hallo Entwickler,

      ich stecke noch nicht so tief im Thema Netzwerkkommunikation und habe deshalb ein paar Fragen. Angenommen ich habe einen Server, der Textdateien (Titel, Inhalt) im JSON Format an meine App schickt, in der ich sie anzeigen will. Mittels Argo oder SwiftyJSON kann ich die Antwort vom Server in Swift structs umwandeln. Einige der Textdateien möchte ich jedoch offline verfügbar machen und in Core Data speichern. Wie gehe ich dieses Problem an?

      Kann ich aus den structs NSManagedObjects machen und diese nicht in den Context einfügen, sodass sie nicht gespeichert werden? Oder gibt es eine sinnvollere Variante?

      Danke
    • Ja, sie sollen in der gleichen UI sein. Ist es sinnvoll, aus dem JSON direkt NSManagedObjects zu erstellen, auch für die Objekte, die nicht gespeichert werden sollen? Macht es einen Performanceunterschied?
    • Macht es überhaupt Sinn wen Weg über CD zu gehen? Ich würde in erster Version einfach das JSON als textfile speichern und das zwischen deine jetzige Download und Parsing Routine als Caching setzen. Das ist programmatisch der kleinste Aufwand und sollte bei einer überschaubaren Menge an Dokumenten (<1000) genauso performant sein. CD wird nur interessant wenn Du grosse Datenmengen durchsuchen und bearbeiten willst.

      Gruß

      Claus
      2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

      Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
    • Im Prinzip geht es schon um ein größeres Projekt, die Textdateien waren nur Beispiele. Es handelt sich um größere Objekte mit mehreren Relationships. Die "Hauptobjekte" und einige der Teilobjekte möchte ich offline verfügbar machen (Nutzer kann download klicken). Für das UI verwende ich NSFetchedResultsController, da so das Aktualisieren der UI nach dem einfügen/löschen von Objekten ohne großen Mehraufwand möglich ist.