Попытка понять NSLog для печати на консоли в Xcode

71
9

Я пытаюсь понять NSLog и как печатать на консоли в Xcode. Я понимаю, что NSLog использует то, что называется "токенами", чтобы настроить тип переменной, на которую ссылается печать (я думаю, это так?). Что мне нужно знать - это разница в том, какие жетоны использовать и что они означают?

Например, после объявления NSArray как NSArray ниже, я хочу напечатать имена напитков на консоли. Я мог бы это сделать так:

NSArray *drinks = @[@"juice", @"water", @"coffee"];

for (NSString *drinkName in drinks) {
NSLog(@"%@", drinkName);
}

Итак, я использую токен @"%@" потому что это NSString?

Я бы использовал @"%i" для целого числа и @"%f" для float? Как насчет двойников? Если бы кто-то мог пролить некоторые легкие для понимания знания новичка в NSLog, это было бы здорово! знак равно

спросил(а) 2020-04-03T23:13:13+03:00 5 месяцев, 4 недели назад
1
Решение
98

Насколько я понимаю, NSLog не является функцией Objective C, а функцией C, встроенной в основу Cocoa. Поэтому он соответствует основным C-функциям с переменными аргументами. Вы можете использовать% @для всех объектов, включая NSString. Это, в свою очередь, вызовет метод описания объектов и напечатает соответствующую строку. Большинство объектов уже имеют довольно полезное представление (например, объекты NSArray возвращают описания всего их содержимого)

ответил(а) 2020-04-03T23:26:37.896507+03:00 5 месяцев, 4 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема