2010-12-02 15 views
7

Also ich speichere Benutzereinstellungen in einer PLIST-Datei und dazu füge ich Daten zu einem NSArray hinzu. Dieser Ansatz funktioniert für mich.Wie speichert man einen booleschen Wert in einem NSArray?

Mein Problem ist, dass ich jetzt einen UISwitch zu den Einstellungen hinzufüge und ich frage mich, wie man ihren ON/OFF-Status im Array speichert, so dass ich zu einem späteren Zeitpunkt auf diesen Zustand zugreifen kann?

Ich bin Hinzufügen von Daten auf das Array wie folgt aus:

[array addObject: mySwitch.on]; 

Dann versuche ich den Zustand wie folgt festgelegt:

[mySwitch setOn:[array objectAtIndex:0]]; 
+0

möglich Duplikat von [NSArray gefüllt mit bool] (http://stackoverflow.com/questions/3889186/nsarray-filled-with-bool) – BoltClock

+1

Sie verwenden 'NSNumber', um einen booleschen Wert zu speichern und ihn abzurufen - ähnlich wie beim Umbruch ein gif t in einer Box, bevor Sie es an Ihren Verwandten senden :) Siehe meine Antwort, wie man es mit Ihrem 'UISwitch' verwendet. – BoltClock

Antwort

32

Seit NSArray nur in (id) s dauert (dh Objective-C-Zeiger auf Objekte), Sie können nur Objekte speichern.

der gemeinsame Weg einen BOOL Wert in einem Objekt zu speichern, ist mit der NSNumber Klasse:

[array addObject:[NSNumber numberWithBool:mySwitch.on]]; 

auf ihn zugreifen, greifen, dass NSNumber Objekt und eine boolValue Nachricht senden:

[mySwitch setOn:[[array objectAtIndex:0] boolValue]]; 
+0

danke ich habe das tatsächlich bemerkt, und es funktioniert perfekt :) – cgossain

+0

Super Antwort! – Supertecnoboff

Verwandte Themen