2017-01-16 2 views
0

Ich erstelle eine App, die eine Tabelle mit "Sammlungen" von Sounds namens Mixes hat. Jedem Sound in der Mischung sind individuelle Klangvolumen zugeordnet.Swift CoreData Model Hilfe? (Beispiel gegeben)

Ich habe Schwierigkeiten, ein Datenmodell zu finden, das für mich funktionieren würde, wenn man bedenkt, dass zusätzliche Soundpakete mit zusätzlichen Sounds heruntergeladen werden können.

Hier ist ein Bild, das ich mit der Grundidee gezeichnet habe. enter image description here

Ich begann mit einer Coredata-Entity für die Mixe, die ein Array von Streichern von Klangorten enthielt. Das hat gut funktioniert, bis ich versucht habe, einzelne Volumes zu implementieren. Ich dachte dann, dass eine Coredata-Entity für jeden Sound funktionieren würde, aber da mehr Sounds heruntergeladen werden können, scheint es für Coredata nicht geeignet zu sein. Ich brauche eine kleine Anleitung, wie ich das erreichen kann und dass es für meinen Soundpack-Download und andere Erweiterungen zukunftssicher ist.

Antwort

1

Ich schlage vor, Sie tun es so, um Ihre Einrichtung zu vereinfachen. enter image description here

Edit: (Ich habe die ganze Antwort/Konfiguration bearbeitet, nachdem sie durch das Setup zu denken)

Eigentlich kann man sogar die „Mixes“ Einheit, löschen und gehen Sie einfach mit „Mixtheme“, und holen alle "Mixthemes" und manuelle Erstellung einer Liste von "Mixen" für die Benutzeroberfläche, um die "Mixe" -Entität zu vermeiden. Wie Sie :)

Auf diese Weise möchten, können Sie:

alle mixthemes mit Optionen Fetch: (Name/verriegelt/entriegelt/andere Eigenschaften Sie hinzufügen)

Holt alle mixethemes verbunden Klänge mit ihren Eigenschaften .

Sie brauchen eigentlich nur diese 2 Entitäten.

+0

Ich kann sehen, wohin du damit gehst, aber das Speichern des Klangs in einer Coredata-Entität scheint den Punkt der Coredata zu verfehlen? Die einzige Eigenschaft, die für einen Sound bearbeitet und gespeichert werden sollte, ist die Lautstärke. Hardcoding eine Sound Entity in jedem Sound scheint ein wenig albern oder? Es hilft mir nicht, dass ich mit der ganzen "persistenten Daten" -Ding und Core-Daten im Allgemeinen neu bin. – calebmanley

+0

@calebmanley Sie speichern nicht die eigentliche "Audiodatei", wenn Sie das mit Ton meinen? Das "Sound" -Entity, das ich gezeigt habe, ist nur ein Verweis auf das Audio. Das Audio sollte gespeichert und für empfohlene Vorgehensweisen von der Festplatte geladen werden. (oder vielleicht, wenn Sie streamen (?), die Option ist Ihre), können Sie eine Eigenschaft zu der Sound-Entity "fileurl" hinzufügen und speichern Sie den Speicherort für den Sound usw. –

+0

von Sound Ich war die "Sound" -Einheit . Das war mein genauer Plan, aber schlägst du vor, dass ich überprüfe, ob es der erste Start der App ist, und dann jede "Sound" -Einheit zu Coredata hinzufügen? – calebmanley