Frage

Hey Jungs, ich möchte eine kategorisierte Liste von URLs speichern. Dies ist ein Internet-Radio-Streaming-App, und so mag ich mindestens drei Links für jedes Genre haben:

  • die freie Streaming-URL mit Werbung
  • die Premium-Streaming-URL bei 128 kbps
  • die Premium-Streaming-URL bei 256 kbps

Also jedes Genre hat diese drei URLs.

Für den Premium-Streams gibt es auch ‚geo-lokalisierte‘ Streaming-URLs oder ‚Spiegel‘ für bestimmte globale Bereiche. Zum Beispiel, wenn ich in den USA bin, kann ich für potenziell bessere Streaming-Qualität / Zuverlässigkeit einer nächste Lage der verfügbaren Spiegel wählen.

Diese URLs können, obwohl ich oft zweifeln, zu ändern, und so werde ich möchte in der Lage sein, sie zu aktualisieren, die Speicher bedeutet nicht nur gelesen werden. Ich weiß nicht genau, wie ich die Informationen gespeichert werden sollte, geschweige denn in welcher Art von Speicher: sqlite db, XML oder Eigenschaftslisten. Ich bin neu, um all dies so tut mir leid, wenn irgendwelche von denen für diese Situation ist dumm, heh.

Was die Struktur, ich bin nicht sicher, wie das entweder zu erreichen. Ich kann möglicherweise haben separate Dateien / Datenbanken, was ich am Ende mit, für jeden Standort, oder ich könnte ein großes haben, dass so etwas ist:

  • Rock
    • Los Angeles
      • Free Stream
      • Premium Stream - 128kbps
      • Premium Stream - 256kbps

Aber ich meine, die Datenbank / Datei schnell riesig werden würde.

Ich glaube, ich auch haben, kann einzelne Dateien / Datenbanken für den freien und Premium-Streams, da Premium Benutzer höchstwahrscheinlich nur auf Premium-Streams hören wollen ( Aber immer noch die Option des 128kbps oder 256kbps-Stream, in Abhängigkeit von ihrer Zuverlässigkeit des Netzwerks ). Ich konnte dann eine Option in den Einstellungen haben, wie auf die zeigen Ströme; kostenlos oder Premium. Dies sollte auf der Größe geschnitten.

Ich möchte später diese URLs in einer Tabellenansicht und Navigationssteuerung präsentieren. Die Stammansicht wird die Liste der Genres sein und nach unten in jedes Genre durch das Bohren wird den freien oder Premium-Streams zeigen. Die Lage (wie Los Angeles) in den Einstellungen gewählt werden, und wird nicht in der Tabellenansicht angezeigt werden.

würde ich Ihre Jungs Vorschläge zu schätzen wissen. Ich habe versucht, so klar und genau, wie ich konnte, tut mir leid, wenn ich etwas verpasst. Ich bin nicht für Code zu fragen, genau das, was Ihre Ideen und Vorschläge sind, wie diese persistenten Datenspeicher zu entwickeln, und in dem, was es gegeben zu speichern, dass ich diese neu bin.

Danke!

War es hilfreich?

Lösung

Wenn ich Sie verstehen, Sie wollen:

Eine Liste von Genres, die jeweils eine Liste von Standorten, die jeweils eine Liste von Eigenschaften enthalten, die jeweils entweder ein Satz von Daten (einschließlich URL) oder eine URL. So oder so, können Sie dies als eine Eigenschaftsliste tun, und es ist nur immer die die Grenze von wo Sie wollen mit einer Eigenschaftsliste sein, wie in einer Datenbank gegenüber.

SQLite ist auf dem iPhone, von der Standard-C-API-Funktion zugegriffen wird, obwohl Core Data ist es nicht. SQLite würden Sie sicherlich viel mehr Struktur in die Datenbank erlauben und Ihre Anfragen.

So oder so, könnte man eine Art von Samen ID für die Datenbank enthält, und dann einen Online-Server abfragen nur Unterschiede zu erhalten, und das würde die Notwendigkeit einer Übertragung über eine große Datenbank über das Netz reduzieren - aber Sie werden feststellen müssen, wie groß Ihre Datenbank ist vor der Entscheidung, ob das lohnt sich. Einfach Komprimieren der XML-Datei, die alle sein könnte, die benötigt wird, da die XML eine große Menge komprimieren würde (wahrscheinlich zu ~ 30% seiner ursprünglichen Größe).

Alternativ Sie wahrscheinlich nur wirklich die flächen entsprechende Abschnitte der Datenbank definiert.

Andere Tipps

Etwas anderes, ist der Ansicht, dass für die Kompatibilität mit Pre OS 3.0 Geräte, Core Data (SQLite) ist nicht wirklich eine Option.

Neben Core-Data (un) Verfügbarkeit, ich bin nicht sicher, dass die Daten, die Sie speichern müssen Karten sauber auf einem relationalen Datenmodell. Ich würde zuneigen der plist Lagerung. Ich denke, es macht den meisten Sinn gegeben Ihren Bedürfnissen.

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