Форматирование Objective C представляет в виде строки для булевской переменной?

Какое средство форматирования используется для булевых значений?

Править:

Пример: NSLog(@" ??", BOOL_VAL);, что ?? ?

117
задан Moshe 18 April 2016 в 19:38
поделиться

4 ответа

Один из способов сделать это - преобразовать в строки (поскольку есть только две возможности, это несложно):

NSLog(@" %s", BOOL_VAL ? "true" : "false");

Я не думаю, есть спецификатор формата для логических значений.

169
ответ дан 24 November 2019 в 02:04
поделиться

В Objective-C тип BOOL - это просто знаковый символ. Из :

typedef signed char BOOL;
#define YES         (BOOL)1
#define NO          (BOOL)0

Таким образом, вы можете распечатать их, используя форматировщик % d . Но это будет печатать только 1 или 0 , а не ДА или НЕТ .

Или вы можете просто использовать строку, как предлагается в других ответах.

23
ответ дан 24 November 2019 в 02:04
поделиться

Я бы порекомендовал

NSLog(@"%@", boolValue ? @"YES" : @"NO");

, потому что, гм, BOOL называются YES или NO в Objective-C.

69
ответ дан 24 November 2019 в 02:04
поделиться

Строки формата для использования с NSLog и [NSString stringWithFormat] задокументированы здесь:

http://developer.apple.com/mac/library/ documentation / Cocoa / Conceptual / Strings / Articles / formatSpecifiers.html

BOOL / bool / boolean даже не упоминаются ...

5
ответ дан 24 November 2019 в 02:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: