我在NSUserDefault中为关键TCshow设置了bool值, 我想运行nslog测试是否保存密钥,并且我试图打印出bool值。 这是我的代码但不起作用,有什么建议吗?
- (IBAction)acceptAction:(id)sender {
//key store to nsuserdefault
self.storedKey = [[NSUserDefaults alloc] init];
[self.storedKey setBool:YES forKey:@"TCshow"];
//trying to print out yes or not, but not working...
NSLog(@"%@", [self.storedKey boolForKey:@"TCshow"]);
}
答案 0 :(得分:17)
%@
用于对象。 BOOL
不是对象。您应该使用%d
。
它将打印0
为FALSE / NO,打印1
为TRUE / YES。
答案 1 :(得分:12)
你应该使用
NSLog(flag ? @"Yes" : @"No");
此处flag
是您的BOOL
。
答案 2 :(得分:2)
NSLog(@"%d", [self.storedKey boolForKey:@"TCshow"]);
答案 3 :(得分:2)
NSLog(@"The value is %s", [self.storedKey boolForKey:@"TCshow"] ? "TRUE" : "FALSE");
答案 4 :(得分:0)
if([self.storedKey boolForKey:@"TCshow"]){
NSLog(@"YES");
}
else{
NSLog(@"NO");
}
我认为这会对你有所帮助。
答案 5 :(得分:0)
只是为了使用新语法,你总是可以将bool包装起来,这是一个对象,可以用%@
打印
NSLog(@"%@", @( [self.storedKey boolForKey:@"TCshow"] ));