2010-12-02 13 views
7

Bu yüzden kullanıcı ayarlarını bir plist dosyasına kaydediyorum ve bunu NSArray'a veri ekliyorum. Bu yaklaşım benim için çalışıyor.Boole değerini bir NSArray'e nasıl depolarsınız?

Sorunum şu ki, ayarlara UISwitch ekliyorum ve ON/OFF durumlarını diziye depolamayı merak ettim, böylece daha sonra bu duruma erişebileceğim?

böyle diziye veri ekliyorum: Sonra

[array addObject: mySwitch.on]; 

böyle durumunu ayarlamak çalışıyorum:

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

mümkün [NSArray bool ile dolu] (http://stackoverflow.com/questions/3889186/nsarray-filled-with-bool) – BoltClock

+1

Bir boolean değerini saklamak ve almak için 'NSNumber' kullanabilirsiniz. bir gif Bir kutuya göreceli olarak göndermeden önce :) 'UISwitch' ile nasıl kullanacağımı görmek için cevabımı görün. – BoltClock

cevap

32

sadece (id) s alır NSArray yana (yani Nesneler için Object-C işaretçileri), sadece nesneleri saklayabilirsiniz. ,

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

erişmek için NSNumber nesne ve bir boolValue mesaj yollayan kapmak:

bir nesne içinde bir BOOL değerini depolamak için yaygın yolu NSNumber sınıfı ile olan

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

Teşekkürler aslında bunu fark ettim ve mükemmel çalışıyor :) – cgossain

+0

Awesome answer! – Supertecnoboff

İlgili konular