Ответ 1
Вот две вещи, которые работают:
NSLog(@"You got: %@",booleanValue ? @"YES" : @"NO");
или вы можете использовать:
NSLog(@"You got: %d", (int)booleanValue);
Который выдает 0 или 1
Я хочу сделать что-то вроде этого:
NSLog(@"You got: %x", booleanValue);
где x - спецификатор. Но я не могу найти его! Я хочу избежать:
if (booleanValue) {
NSLog(@"You got: YES");
}
else {
NSLog(@"You got: NO");
}
Есть идеи? Документы не имели логического спецификатора. %@
тоже не работает.
Вот две вещи, которые работают:
NSLog(@"You got: %@",booleanValue ? @"YES" : @"NO");
или вы можете использовать:
NSLog(@"You got: %d", (int)booleanValue);
Который выдает 0 или 1
Вы можете передать его в int и использовать %d
:
NSLog(@"You got: %d", (int)booleanValue);
Или используйте что-то вроде этого:
NSLog(@"You got: %@", booleanValue ? @"YES" : @"NO");
Там нет спецификатора формата, о котором я знаю. Вы можете сделать это:
NSLog(@"You got: %@", (booleanValue ? @"YES" : @"NO"));
В качестве альтернативы вы могли бы написать небольшую функцию или макрос, используя вышеприведенную логику, которая принимает BOOL и возвращает соответствующую строку. Затем вы можете использовать эту функцию в своих операторах журнала.
да
Вот код:
NSLog(@"%hhd",BOOLvariable);
Печать 1 для "Да" и "0" для "Нет". Работала для меня.