[Cocoa] Welche Datenstruktur geeignet/üblich?

26/08/2007 - 08:53 von kscheller | Report spam
Hallo,

mit etwas wenig Erfahrung steht man manchmal wie der Rote Ochs vorm Berg
:)

Ich habe eine Tabelle, die mittels Bindings mit einer Datenklasse
verbunden ist. Der User soll nun in den Preferences die Spalten
einstellen können, die in der Tabelle angezeigt werden (oft braucht man
nicht so viele Daten sofort sichtbar).

Das klappt ganz gut mit Verwendung von
[myTable addTableColumn:myColumn];
die Tabellenspalten wir dann hàndisch mit
[myColumn bind:@"value"
toObject:TableController
withKeyPath:[NSString
stringWithFormat:@"arrangedObjects.spalte%i",theTag]
options: nil];

Nun sind für jede Tabellenspalte mehrere Daten anzulegen:

tag: der Key für den Datensatz, Quelle ist NSMatrix
identifier: der Spaltenidentifier
columnTitle: der Titel für die Spaltenzeile
keyPath: der keypath für die Bindings
width: die Spaltenbreite

ich habe also eine Art Dictionary, mit einem key ("tag"), aber mit
*mehreren* Werten. Wie organisiert man sowas am Besten? Ein simples
Array? Im NSDictionary nochmal ein NSDictionary als value? Oder gleich
als plist?

Servus,
Konni


debs-meet 2007 am 07.-09. September
 

Lesen sie die antworten

#1 aclauss
26/08/2007 - 12:33 | Warnen spam
Konni Scheller wrote:

Ein simples Array?



Ist eher ungünstig, denn falls sich an der Struktur was àndert (weitere
Daten kommen hinzu, oder Daten fallen weg), wird's eher unübersichtlich.

Im NSDictionary nochmal ein NSDictionary als value?



Das wàre IMHO deutlich besser. Sowas kann man gut Erweitern/Veràndern

Oder gleich als plist?



Eine plist ist ja letztlich nichts anderes als eine serialisierte Form
einer Struktur aus NSArrays, NSDictionaries, Strings usw. Ist also
eher zum Speichern/Laden oder Datenaustausch sinnvoll, wenn Du die
Object-Struktur aus Array/Dictionaries nicht sinnvoll direkt übergeben
kannst.


Alexander

Ähnliche fragen