如何将布尔值存储到NSArray?

时间:2010-12-02 20:49:57

标签: iphone objective-c ios

所以我将用户设置存储在plist文件中,为此我将数据添加到NSArray中。这种方法对我有用。

我的问题是,现在我正在为设置添加一个UISwitch,我想知道如何将它们的ON / OFF状态存储到数组中,以便我以后可以访问该状态?

我正在向数组中添加数据:

[array addObject: mySwitch.on];

然后我试图设置这样的状态:

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

1 个答案:

答案 0 :(得分:33)

由于NSArray只接受(id) s(即指向对象的Objective-C指针),因此只能存储对象。

在对象中存储BOOL值的常用方法是使用NSNumber类:

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

要访问它,请抓取NSNumber个对象并向其发送boolValue条消息:

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