2010-01-12 4 views
13

Имеет ли цель C общую команду печати, например, Python? Кажется, что NSLog регистрирует его, а не выводит на консоль. printf принимает только определенные типы.Цель Цель Общая Печать

ответ

28

NSLog() действительно печатает на консоль и очень похож на C printf(). Имея свое происхождение и основы в C, консольная печать выполняется, как и в C, по существу.

+1

Собирался сказать то же самое! +1 –

+0

О, я упустил @ - все еще новый объектив C – Casebash

+0

(тестировал его со строкой) – Casebash

5

printf - это то, что вы ищете. Вы можете использовать его как обычные операторы печати:

printf("This is a neat command!\n"); 

Вы также, вероятно, знают, что вы можете использовать его с заменами:

printf("The Answer is %d\n", 42); 
6

Вы можете использовать NSString для строк формата, содержащих тип идентификаторов, а также как стандартные типы printf, а затем просто распечатайте его с помощью printf:

NSString *fmt = [NSString stringWithFormat:@"My formatted string: %@", anObject]; 

printf("%s", [fmt cStringUsingEncoding:[NSString defaultCStringEncoding]]); 
+0

Это должно быть 'printf ("% s ", [fmt cStringUsingEncoding: ...])', чтобы охватить случай, когда в строке уже есть '%'. –

+0

Да, хорошая точка. Я исправлю пост. –

Смежные вопросы