Вывод отладочной информации

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, но они больше подходят для логирования уровня продакшн, а не для быстрой и грязной отладки, с которой мы тут занимаемся.

Смотрите также