Iphone 如何将布尔值存储到NSArray?
所以我将用户设置存储在plist文件中,为此我将数据添加到NSArray中。这种方法对我有效 我的问题是,现在我正在向设置中添加一个UISwitch,我想知道如何将它们的开/关状态存储到阵列中,以便以后可以访问该状态 我正在向数组中添加数据,如下所示:Iphone 如何将布尔值存储到NSArray?,iphone,objective-c,ios,Iphone,Objective C,Ios,所以我将用户设置存储在plist文件中,为此我将数据添加到NSArray中。这种方法对我有效 我的问题是,现在我正在向设置中添加一个UISwitch,我想知道如何将它们的开/关状态存储到阵列中,以便以后可以访问该状态 我正在向数组中添加数据,如下所示: [array addObject: mySwitch.on]; [mySwitch setOn:[array objectAtIndex:0]]; 然后我试着这样设置状态: [array addObject: mySwitch.on]; [
[array addObject: mySwitch.on];
[mySwitch setOn:[array objectAtIndex:0]];
然后我试着这样设置状态:
[array addObject: mySwitch.on];
[mySwitch setOn:[array objectAtIndex:0]];
由于
NSArray
只接受(id)
s(即指向对象的Objective-C指针),因此只能存储对象
在对象中存储BOOL
值的常用方法是使用NSNumber
类:
[array addObject:[NSNumber numberWithBool:mySwitch.on]];
要访问它,请抓取NSNumber
对象并向其发送boolValue
消息:
[mySwitch setOn:[[array objectAtIndex:0] boolValue]];
您使用
NSNumber
存储布尔值并检索它的可能重复项-有点像在将礼物发送给亲戚之前将其包装在盒子中:)有关如何将其与ui开关一起使用的信息,请参阅我的答案。