Swift:
Debug-output afdrukken

Hoe te:

In Swift heb je een vriend aan de print() functie. Makkelijk te gebruiken, het geeft je ogen op wat er in je code gebeurt.

var groet = "Hallo, speelplaats"
print(groet)
// Output: Hallo, speelplaats

let nummers = [1, 2, 3, 4, 5]
for nummer in nummers {
    print(nummer)
}
// Output:
// 1
// 2
// 3
// 4
// 5

Maar wacht, er is meer! Heb je gedetailleerde debug-info nodig? debugPrint() heeft je gedekt:

debugPrint(groet)
// Output: "Hallo, speelplaats"

Zie je die aanhalingstekens? debugPrint() laat de bonen morsen met extra details over gegevenstypes en -structuur.

Diepe Duik

In de oude dagen van Objective-C gebruikten we NSLog om spullen te loggen. Swift hield de zaken eenvoudig—print() is je brood en boter voor standaard output, terwijl debugPrint() de gekruide boter is voor gedetailleerde weergaven.

Interessant feit: Standaard output in Swift is niet alleen tekst—het kan elk type zijn dat voldoet aan CustomStringConvertible of CustomDebugStringConvertible. Deze protocollen laten je aanpassen hoe je objecten eruit zien wanneer ze hun verhalen vertellen door te printen.

Onder de motorkap gebruiken print() en debugPrint() String(describing:) en String(reflecting:) om je objecten in strings om te zetten. In principe gebruiken deze functies een spiegel om een selfie van je gegevens te nemen.

Alternatieven? Je hebt os_log en NSLog, maar deze zijn meer geschikt voor productie-niveau logging, niet het snelle en vuile debuggen waar we hier op jammen.

Zie Ook