Menu

22 september 2015

Nieuw in Xcode 7 en Swift 2: print()

Retina logo van Xcode app

Ben je al overgestapt naar Xcode 7 en dus naar Swift 2? Dan heb je gemerkt dat er flink wat is veranderd. In dit artikel bespreken we de wijzigingen in één van de populairste functies: print().

In versie 1 van Swift bestonden er twee functies om tekst naar de Console te sturen: println() en print(). De println()-functie zette een ‘harde return’ achter je tekst, zodat de volgende tekst op een nieuwe regel begon. Als je geen harde return wilde, gebruikte je print().

In Swift 2 bestaat println() niet meer. Je gebruikt nu dus altijd print(). Na print() wordt in principe altijd op een nieuwe regel begonnen.

In dit voorbeeld zie je hoe dit werkt:

print("Regel 1")
print("Regel 2")

01

Zoals je ziet, wordt in Xcode 7 geen Timeline meer gebruikt om de inhoud van de Console te tonen: dat gebeurt nu in het Debug-paneel. Kies ViewDebug AreaShow Debug Area of druk op ++Y om het Debug-paneel te openen.

Als je niet wilt dat bij de volgende print()-functie op een nieuwe regel wordt begonnen, gebruik je een extra parameter, met de naam terminator. Daarachter kun je opgeven welk teken er in plaats van een ‘harde return’ moet worden gebruikt om tekst van elkaar te scheiden. In het volgende voorbeeld wordt daarvoor een spatie gebruikt:

print("Regel 1", terminator: "")
print("en nog steeds Regel 1")
print("Regel 2")

02

Je kunt ook een lege terminator-string opgeven:

print("a", terminator: "")
print("b") // Wat hierna komt, begint op een nieuwe regel
print("c")

03

Wil je twee lege regels? Dat kan met twee afzonderlijke print()-functies. Je kunt ook gebruik maken van de speciale ‘nieuwe regel’-code: \n.

print("Regel 1")
print("")
print("")
print("Regel 2")
print("\n")
print("Regel 3")

04

Nieuw bij print(): meer argumenten

De print()-functie kan nu meer argumenten tegelijk aan. Deze argumenten worden na elkaar afgedrukt, met telkens een spatie ertussen:

print("Argument 1", "Argument 2", "Argument 3")

let a = 1, b = 2, c = 3
print(a, b, c)

05

Je kunt ook opgeven welk scheidingsteken er tussen de diverse argumenten moet worden geplaatst. Zo kun je bijvoorbeeld komma’s tussen de diverse argumenten laten afdrukken, of je kunt elk argument op een nieuwe regel laten beginnen. Hiervoor is het nieuwe argument separator bedoeld. Een voorbeeld:

let a = 1, b = 2, c = 3

// Een komma en spatie tussen elk argument:
print(a, b, c, separator:", ")

// Na elk argument op een nieuwe regel beginnen:
print(a, b, c, separator:"\n")

06

print() en lege regels

Met de combinatie \n kun je opgeven dat er op een nieuwe regel moet worden begonnen. Om alleen een lege regel af te drukken, kun je ook een ‘lege’ string aan print() doorgeven:

// Een lege regel:
print("")

// Drie lege regels:
// (twee voor elke \n en
// één omdat dat altijd gebeurt na print()
print("\n\n")

De Playground downloaden

Wil je de complete Playground hebben? Die kun je hier downloaden.

Aanbieding voor appletips-lezers

Wil je snel apps leren maken voor de iPhone, iPad en Apple Watch? Als appletips-lezer krijg je tien euro korting op het populaire eBook van de iOS Academie: Apps bouwen met Swift. Van dit eBook van ruim 400 pagina’s is zojuist een nieuwe versie verschenen, helemaal bijgewerkt naar Xcode 7, Swift 2 en iOS 9. Klik hier voor meer informatie.

Wil je zelf apps ontwikkelen met Swift? Dat kan, op appletips maken we je wegwijs in de wereld van Swift, Klik hier voor alle posts, plus lesmateriaal.







Reacties


Er zijn nog geen reacties op dit bericht!

Een reactie toevoegen: