Der beste Weg, eine große Palette von Booleschen Variablen speichern?

stimmen
4

Ich bin auf einem Code arbeiten, die mich 60 * 4 Boolesche Werte speichern erfordert, werden die Titel für diese Werte in einer plist gespeichert werden. Ich benötige die Booleschen Werte zur Laufzeit zu manipulieren und konnte nicht einen Weg finden, die plist-Datei zu aktualisieren easily..also zum Speichern der Boolesche Werte SQLite-Datenbank unter Verwendung für eine solche große Menge von Daten hektisch wird ... Gibt es eine einfache Art und Weise durch was ich kann diese Werte leicht speichern und abrufen, sowohl zur Laufzeit und nach dem Start der Anwendung?

Veröffentlicht am 26/02/2009 um 14:14
quelle vom benutzer
In anderen Sprachen...                            


3 antworten

stimmen
7

Damit meine ich nicht ein Ketzer sein, aber es gibt eine einfache Regel für Fälle wie diesen: vorzeitige Optimierung ist die Wurzel allen Übels ist.

60 * 4 nur 240 Boolesche Werte. Selbst wenn Sie irgendwie speichern sie in der schlimmsten Art und Weise zu verwalten und zu 1k pro boolean nehmen, das ist nach wie vor nur 240k. Solange die Lagerung ist nicht RAM, wer sich interessiert? Warum nicht mit möglichst einfachen Weise starten und beheben, wenn etwas später zu Ihnen kommt? SQLite würde dies völlig in Ordnung sein.

Wenn Sie zum Versenden der Nähe sind und haben dies als ein Problem identifiziert, mit allen Mitteln diese Antwort ignorieren. :)

Beantwortet am 26/02/2009 um 20:06
quelle vom benutzer

stimmen
2

Während seine viel einfacher sein würde NSArray oder NSMutableArray zu verwenden, wie oben erwähnt, könnte man sich den Standard C ++ Vektor-Klasse bei Verwendung. AFAIK ist dies sehr platzspar WRT. die Zuweisung von Speicher.

Beantwortet am 05/11/2010 um 15:47
quelle vom benutzer

stimmen
1

Sie könnten die NSData Verfahren zum Speichern des boolean-Array verwenden, aber man könnte auch einfach lassen Kakao es natürlich tun:

NSArray* arrayOfBools; // array of 240 NSNumbers, each made with [NSNumber numberWithBool:NO];

dann

[[NSUserDefaults standardUserDefaults] setObject:arrayOfBools forKey:@"MyNameForThe240"];

Rufen Sie sie:

NSArray* savedBools = [[[NSUserDefaults standardUserDefaults] objectForKey:"MyNameForThe240"];

Sie wollen, dass sie wahrscheinlich in einer änderbaren Array:

NSMutableArray* the240ThatCanBeEdited = [NSMutableArray arrayWithArray:savedBools];

Dann auf beenden, speichern Sie sie heraus mit der

[[NSUserDefaults standardUserDefaults] setObject:the240ThatCanBeEdited forKey:@"MyNameForThe240"];
Beantwortet am 26/02/2009 um 22:36
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more