0

これは非常に悲しいことですが、 があり、それに値NSStringを持たせたい場合は、その中に文字列値intを使用します。%d何に使うのBOOL?試してみ%bましたが、何もしませんでした。それは何ですか?

4

5 に答える 5

1

printfこれらは、ブール値を出力する機能がないフォーマット指定子に対応しているようです。

%d整数のように使用するか (これはそうです)、2 つの文字列のうちの 1 つを true として出力するために使用できます:書式%s指定子として、およびパラメーターは変数の(b) ? "true" : "false"場所です。bBOOL

注: これは C プログラマの観点からのものです。これらの文字列定数を少し異なる方法で記述する必要がある場合があります。%sここで指定子が を期待している場合は、代わりにandをNSString使用する必要があります。@"true"@"false"

于 2012-11-14T16:22:49.823 に答える
1

%d を使用するだけです。BOOL は整数です。

于 2012-11-14T16:17:37.013 に答える
1

もっと読みやすいものが必要な場合は、いつでもマクロを定義して、読みやすい出力を提供できます

#define STRING_FROM_BOOL(b) (b ? @"YES" : @"NO")

NSLog(@"%@", STRING_FROM_BOOL(NO)); //=> NO
于 2012-11-14T16:23:45.157 に答える
0

次のようなことを考えています:

NSString* num = @"1";
BOOL b = [num intValue];
于 2012-11-14T16:16:23.110 に答える
0

ここにはブール値print_f refの指定子はありません

于 2012-11-14T16:19:02.983 に答える