【发布时间】:2012-08-14 23:44:09
【问题描述】:
我正在使用 NSUserDefaults 在另一个视图控制器上保存一个整数,以便在推送这个时我知道要使用哪个图像。出于某种原因,模拟器只使用 image1 而我的手机只使用 image2。我能做什么?
if ([[NSUserDefaults standardUserDefaults] integerForKey:@"key"] == 1){
leftStill = [UIImage imageNamed:@"image1.png"];
}
if ([[NSUserDefaults standardUserDefaults] integerForKey:@"key"] == 2) {
leftStill = [UIImage imageNamed:@"image2.png"];
}
[imageView setImage:leftStill];
【问题讨论】:
-
您的代码告诉您,在模拟器上键的值为 1,而在设备上为 2。您的代码中可能存在设置这些键的错误,但您没有发布,所以我们怎么知道?
-
当我使用 NSLog 检查时,整数没有正确输出,它只有图像
-
这没有意义。其他事情正在发生。例如“image1.png”和“image2.png”在某种程度上不是你想象的那样。您可以通过在分配给
leftStill之前输入NSLog来验证这一点。
标签: objective-c ios cocoa-touch nsuserdefaults