如何在目标c中打印出bool

时间:2012-08-14 12:52:11

标签: iphone objective-c printing boolean

我在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"]);

}

6 个答案:

答案 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"] ));