我发现这是iPhone SDK上 NSUserDefaults 的一部分,没有返回 nil
从一个新的 iPhone 项目进行测试:
if (![[NSUserDefaults standardUserDefaults] valueForKey:@"foobar"]) NSLog(@"is not yet defined");
if (![[NSUserDefaults standardUserDefaults] objectForKey:@"foobar"]) NSLog(@"is not yet defined");
if ([[NSUserDefaults standardUserDefaults] valueForKey:@"foobar"] == nil) NSLog(@"valueForKey is nil");
if ([[NSUserDefaults standardUserDefaults] objectForKey:@"foobar"] == nil) NSLog(@"objectForKey is nil");
它输出:
is not yet defined
is not yet defined
valueForKey is nil
objectForKey is nil
所以从上面你必须得到解决方案。
还,
NSString *loadTheme = [[NSUserDefaults standardUserDefaults] valueForKey:@"theme"];
够用了,不用了stringWithFormat: