15

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

}
4

7 に答える 7

35

%@オブジェクト用です。BOOLはオブジェクトではありません。を使用する必要があります%d

0FALSE/NO および1TRUE/YES に対して出力されます。

于 2012-08-14T12:54:17.460 に答える
16

あなたが使用する必要があります

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

これflagがあなたBOOLです。

于 2012-08-14T13:03:00.557 に答える
3
NSLog(@"The value is %s", [self.storedKey boolForKey:@"TCshow"] ? "TRUE" : "FALSE");
于 2012-08-14T12:56:28.223 に答える
2
NSLog(@"%d", [self.storedKey boolForKey:@"TCshow"]);
于 2012-08-14T12:53:53.910 に答える
0
if([self.storedKey boolForKey:@"TCshow"]){
NSLog(@"YES");
}
else{
NSLog(@"NO");

}

お役に立てると思います。

于 2012-08-14T12:56:24.090 に答える
0

新しい構文を使用するために、常に bool をボックス化して、それがオブジェクトであり、次のように出力できるようにすることができます。%@

NSLog(@"%@", @( [self.storedKey boolForKey:@"TCshow"] ));
于 2012-08-14T13:26:59.600 に答える