Core Data + Daten Updaten

  • Core Data + Daten Updaten

    Hallo,

    ich habe bezüglich Core Data einige Fragen.

    Momentan habe ich in meinem Controller, der für mein NSWindow zuständig ist ein Outlet welches auf einen NSArrayController zeigt.

    IBOutlet NSArrayController *fileCardsController;

    Der NSArrayController wird ja brav von Core Data/Bindings befüllt und aktuell gehalten. Das funktioniert fein.

    Ist es nun gängie Praxis, falls man per Quellcode Daten, die von Core Data verwaltet werden und sich momentan in dem NSArrayController befinden, "updaten" möchte wie folgt vorzugehen:

    Auf den NSArrayController bei Bedarf setFilterPredicate anwenden, falls ich zB nur an Datensätzen interessiert bin, deren "vorname"-Eigenschaft = "Christian" ist und dann durch diesen NSArrayController zu iterieren - die Updates mit Key-Value Coding vorzunehmen.

    Macht man das so? Falls nein: Was ist der gänige Weg? Gibt es dazu noch Alternativen, die eleganter sind?

    Danke
    Die Objective-Cloud ist fertig wenn sie fertig ist. Beta heißt Beta.

    Objective-C und Cocoa Band 2: Fortgeschrittene
    Cocoa/Objective-C Seminare von [co coa:ding].
  • "einfach zusammenklicken und mit ArrayControllern etc"

    Wie meinst du das? Konkretes Beispiel:

    Ich habe ein UserInterface, welches so aussieht, wie das in Itunes (links eine NSViewTable mit Kategorieren und rechts die Lieder der Kategorie).

    Sobald man eine Kategorie anklickt werden die Lieder der Kategorie in ein NSArrayController geladen. Angenommen man möchte nun je nach Eingabe eines Benutzers die Daten ändern - kann man das auch einfach zusammenklicken? Oder was meinst du mit deiner Aussage?
    Die Objective-Cloud ist fertig wenn sie fertig ist. Beta heißt Beta.

    Objective-C und Cocoa Band 2: Fortgeschrittene
    Cocoa/Objective-C Seminare von [co coa:ding].
  • also unter zusammenklicken versteh ich bindings und ArrayController etc. Hab aber wirklich 0 ahnung davon weil ichs noch nie verwendet habe (ist ja nur bis zu einem bestimmten grad brauchbar und wenn man was spezielles will macht man sichs am besten selbst im code).

    Meine Erfahrungen mit SQLite sind dass es sehr schnell ist bei einfachen queries, hat man aber bisschen komplexere SELECTs dann wird das saulahm. Ich hatte eine query die zur ausführung glatte 10 minuten gebraucht hat. dann hab ich mir die entsprechenden tables die zur abfrage gehörten in arrays/dicts geladen und selbst zusammengebastelt dann kam das gleiche ergebnis raus und zwar in sage und schreibe 3 sekunden ;)
    naja, war halt schon ne 5 MB Datenbank ;)