Qual é a diferença entre print(), println() e NSLog() em Swift e o que é melhor usar?
Olá a todos! Comecei a estudar Swift recentemente e notei que para exibir informações no console, posso usar três formas diferentes: print(), println() e NSLog(). Antes eu programava em Python, onde tudo é simples — um print() e pronto. Mas aqui fiquei confuso.
Por exemplo, escrevo um código simples:
let name = "Alexey"
let age = 28
print("Nome: \(name), idade: \(age)")
println("Nome: \(name), idade: \(age)")
NSLog("Nome: \(name), idade: \(age)")
Todas as três linhas exibem algo no console, mas o formato é diferente. NSLog adiciona data, hora, nome do processo e algum identificador. Já println nem compila no Xcode 15 — diz que essa função não existe.
Li artigos antigos (2014–2016), onde diziam que println() era usado no Swift 1.x, e depois foi removido. Mas alguns desenvolvedores ainda recomendam NSLog para debug. Por quê? Já que print() é mais simples e curto.
Também notei que NSLog() é mais lento que print(). Isso é verdade? Ou é mito?
Por favor, me expliquem:
1. Quais