Swift:
Вывод отладочной информации
Как:
В Swift у вас есть друг в лице функции print(). Легко использовать, она позволяет вам видеть, что происходит в вашем коде.
var greeting = "Hello, playground"
print(greeting)
// Вывод: Hello, playground
let numbers = [1, 2, 3, 4, 5]
for number in numbers {
print(number)
}
// Вывод:
// 1
// 2
// 3
// 4
// 5Но это ещё не всё! Нужна подробная отладочная информация? debugPrint() к вашим услугам:
debugPrint(greeting)
// Вывод: "Hello, playground"Заметили эти кавычки? debugPrint() выдаёт подробности с дополнительной информацией о типах данных и структуре.
Погружение
В старые добрые времена Objective-C мы использовали NSLog для вывода информации. Swift сделал всё проще — print() это ваш хлеб насущный для стандартного вывода, в то время как debugPrint() это ароматизированное масло для подробных представлений.
Интересный факт: стандартный вывод в Swift — это не только текст, это может быть любой тип, соответствующий CustomStringConvertible или CustomDebugStringConvertible. Эти протоколы позволяют настраивать внешний вид ваших объектов при их выводе на печать.
Под капотом print() и debugPrint() используют String(describing:) и String(reflecting:) для преобразования ваших объектов в строки. По сути эти функции используют зеркало, чтобы делать селфи ваших данных.
Альтернативы? У вас есть os_log и NSLog, но они больше подходят для логирования уровня продакшн, а не для быстрой и грязной отладки, с которой мы тут занимаемся.
Смотрите также
- Справочник API Swift для функций печати: Библиотека стандартов Swift: print(_:separator:terminator:)
- Более глубокий взгляд на логирование в Swift, рассмотрение GDPR и конфиденциальности: Единое логирование и отслеживание активности
- Интерполяция строк в Swift и настраиваемость для отладочных описаний: CustomStringConvertible и CustomDebugStringConvertible