3

いくつかの文字列構築を行う次のメソッドがありますが、残念ながら、ブール値を NSString に解析する際に問題が発生しています。

コードは次のとおりです。

- (void)setToolOutput:(int) outputNumber state: (BOOL) value {
    NSString *str =  [NSString stringWithFormat:@"this=%i is=%c",outputNumber,value];
    NSData* data = [str dataUsingEncoding:NSUTF8StringEncoding];
    [OutputStream write:[data bytes] maxLength:[data length]];
    NSLog(@"%@", str);
}

%cfor charを使用して、および char の文字列として解析しようとしました%s。どちらの方法でも、ブール値を として出力しますquestion mark turned upside down

True編集: orとして解析したいFalse

4

2 に答える 2

31

Boolean は基本的に整数であるため%i、10 進数表現を取得するために使用できます。あなたが通常欲しいのはこれです:

NSString *booleanString = (value) ? @"True" : @"False";

于 2012-04-30T09:28:53.290 に答える
-2

編集:私の間違いで申し訳ありません

ブール値をチェックして、「True」または「False」などの優先文字列をスローすることもできます

        NSString *target = @"";
        if(tmp)
        {
            target = @"True";
        }
        else {
            target = @"False";
        }

        // use target variable as you prefer
于 2012-04-30T09:25:46.043 に答える