Frage zu optimaler Möglichkeit, Daten für eine buchartige iPhone-App zu organisieren

StackOverflow https://stackoverflow.com/questions/2343737

  •  23-09-2019
  •  | 
  •  

Frage

Ich möchte mit der Arbeit an einer iPhone -App beginnen, die kaum mehr als Bücherinhalte zum Lesen anzeigt. Der Buchinhalt ist online verfügbar und ist vollständig Open Source, aber ich möchte die Inhalte lokal zur Verfügung stellen. Mit Apps, an denen ich zuvor gearbeitet habe, nämlich mit iPhone OS 2.x, erstellt (oder finden Sie) eine .sql -Datenbank und dann nur Abfragen für Daten aus der App, funktionierte wirklich gut. Mit dem Aufkommen von Kerndaten (mit denen ich nicht so vertraut bin) ist die ältere SQL -Methode möglicherweise nicht ideal. Meine Frage ist also: Was ist der beste Weg für mich, von Online -Webinhalten zu lokal gespeicherten iPhone -lesbaren Inhalten zu wechseln? Unabhängig davon, welchen Ansatz ich verfolge, brauche ich eine DB (richtig?). Sollte ich also die Hauptlast davon aus dem Weg räumen und mit dem Importieren des Webinhalts in eine DB mit allen richtigen Tabellen und Spalten beginnen? Ich denke, mit dieser Frage suche ich nur nach einem Punkt in die richtige Richtung. Wenn es Vorschläge für die beste Methode für mich gäbe, um das zu rollen, wäre dies sehr geschätzt. Vielen Dank!

War es hilfreich?

Lösung

Kerndaten sind gut, wenn Sie "Objekte" haben, die Sie anhaltend machen möchten. Bei nur vielen Daten zum Lesen/Schreiben kann ein einfaches altes SQLite einfacher sein.

Es tut mir leid, dass ich keine spezifischeren Ratschläge geben kann, aber es kommt darauf an, wie kompliziert das Datenmodell und die Objektmodelle Ihrer App sind. Ich würde empfehlen, Kerndaten anzusehen, aber nicht nur, nur weil jeder Ihnen sagt, wie cool es ist.

Wenn Sie sich mit Kerndaten befassen, definieren Sie Ihr eigenes SQL -Datenbankschema erst, also starten Sie diesen Pfad erst, wenn Sie die Entscheidung getroffen haben.

Andere Tipps

Ich würde tatsächlich mit der Kerndatenroute gehen. Kerndaten sind nur eine von Apple bereitgestellte API, um persistente Daten unabhängig vom Daten -Backend zu verwalten (mit einer flachen Plist -Datei, einer XML -Datei oder einer vollständigen SQLite -Datenbankdatei).

Im Falle eines Buches können Sie die Entitäten wie folgt aufschlüsseln.

Buchentität

  • Titel, der ein String -Attribut ist
  • Autor, der ein String -Attribut ist
  • Kapitel, die eine Beziehung von Kapiteleinheiten haben

Kapitel Entität

  • Titel, der ein String -Attribut ist
  • Seiten, die eine Beziehung von Seiteneinheiten haben

Seitenentität

  • Pagetext, das ein String -Attribut ist

Anschließend können Sie auf alle Werte zugreifen, als ob sie Objekte sind, die Kerndaten verwenden, ohne sich um den SQL -Backend -Code zu kümmern und den gesamten Code zu schreiben, um die SQLite -Datentypen in Cocoa -Objekte zu übersetzen, die Ihre Ansichtscontroller anzeigen können.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top