0

我已经创建了一个 mySwitchCollection,我需要从中检索 boolForKey 值以打开或关闭我的视图上的开关。这是代码,但我有问题 [defs boolForKey:arrayCostanti[i]];

arrayCostanti 是一个静态的 NSString *arrayCostanti[] = {k3D,kAnimazione};

如何将我的 arrayCostanti[i] 值推送到 boolForKey?

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.

    //Leggo dal defs gli stati di ogni switch e gli setto lo stato
    //NSUserDefaults
    NSUserDefaults *defs = [NSUserDefaults standardUserDefaults];

    //mySwitch1.on = [defs boolForKey: k3D];

    //ciclo for per settare tutti gli stati degli switch che ho raccolto nel mySwitchCollection
    for (int i = 0; i <= 45; i++){
     mySwitchCollection[i].on = [defs boolForKey:arrayCostanti[i]];
    }
}
4

1 回答 1

0

您还需要确保正确存储它。

我将假设 'k3D' 是为您的密钥定义的 NSString。

// saving
mySwitch1.on = YES;

[[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithBool:mySwitch1.on] forKey:k3D];

// retrieving

BOOL switchOn = [[NSUserDefaults standardUserDefaults] boolForKey:k3D];

要记住的重要一点是 NSUserDefaults 只能存储主要的对象类型,而 BOOL 不是其中之一。因此,请确保首先将您的 BOOL 设置为 NSNumber,您应该一切顺利。

于 2012-06-27T13:35:30.730 回答