2012-08-14 30 views
6

我在我的NSUserDefault中設置了關鍵TCshow的布爾值, 我想運行一個nslog測試,不管關鍵是否被保存,並且我試圖打印出布爾值。 這是我的代碼,但它不工作,有什麼建議嗎?如何在目標c打印出bool 0

- (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

BTW打印的緣故,這種方法對於像「期限和條件」 scollview壽。我想是..如果新用戶使用的第一次應用,因此促進T&C讓他接受,如果他接受,則該值是將下一次,當他回來後,沒有更多的保存到nsuserdefault關鍵TCshow, T&C視圖會彈出來,直接登陸查看。 THX如果任何人都可以幫我這個邏輯,我會得到真正的appricated ... THX再次 – seph 2012-08-14 12:54:13

+0

檢查http://stackoverflow.com/questions/6358349/how-to-print-boolean-flag-in-nslog – WeCan 2014-04-17 06:14:31

回答

15

%@爲對象。 BOOL不是一個對象。你應該使用%d

它將打印出0爲FALSE/NO和1爲TRUE/YES。

+1

'% D'可以工作,但記得'BOOL'是'簽署char'不'int' – Ankur 2012-08-14 13:08:40

2
NSLog(@"%d", [self.storedKey boolForKey:@"TCshow"]); 
0
if([self.storedKey boolForKey:@"TCshow"]){ 
NSLog(@"YES"); 
} 
else{ 
NSLog(@"NO"); 

} 

我認爲這會對您有所幫助。

2
NSLog(@"The value is %s", [self.storedKey boolForKey:@"TCshow"] ? "TRUE" : "FALSE"); 
11

你應該在這裏使用

NSLog(flag ? @"Yes" : @"No"); 

flag是你BOOL

0

只是爲了使用新的語法,你總是可以框的布爾所以這是一個對象,可以用%@

NSLog(@"%@", @([self.storedKey boolForKey:@"TCshow"]));