BT

Swift 3 est disponible

| par Sergio De Simone Suivre 12 Abonnés , traduit par Stéphane Wojewoda Suivre 11 Abonnés le 05 oct. 2016. Durée de lecture estimée: 1 minute |

Swift 3.0 vient d'être lancé, comme l'écrit Ted Kremenek, ingénieur Apple, apportant des changements bienvenus au langage et à la librairie standard, en plus d'un portage Linux et d'une première version officielle du gestionnaire de paquet Swift.

Swift 3 est la première version majeure depuis l'ouverture open source du langage par Apple fin 2015 et met en oeuvre près de 90 propositions discutées et approuvées par le processus d'évolution de Swift.

Une partie des nombreux changements de Swift 3.0 vise à nettoyer l'API, comme dans les guides du Swift API Design, en supprimant quelques choix qui semblaient être un héritage d'Objective-C. L'impact est de rendre la syntaxe de Swift plus courte et consistante avec :

  • L'obligation de nommer le premier paramètre des fonctions et méthodes (plutôt qu'une omission délibérée avec _) ce qui permet d'écrire :
aString.write(toFile: "filename", atomically: true, encoding: NSUTF8StringEncoding)
UIFont.preferredFont(forTextStyle: UIFontTextStyleSubheadline) 

plutôt que :

aString.writeToFile("filename", atomically: true, encoding: NSUTF8StringEncoding)
UIFont.preferredFontForTextStyle(UIFontTextStyleSubheadline) 
  • La suppression de mots inutiles qui permet aux développeurs d'écrire :
UIColor.red()

plutôt que :

UIColor.redColor()

Les deux règles décrites ont un effet plus important en les mixant, avec par exemple la syntaxe suivante :

aString.stringByReplacingOccurrencesOfString("A", withString: "a")

devient :

aString.replacingOccurrences(of: "A", with: "a")

Un autre domaine où Swift 3.0 a rationalisé les choses est la gestion des fonctions C appartenant à plusieurs framework Cocoa. Parmi les exemples possibles, toutes les fonctions de Core Graphics commençant par CGContext, CGAffineTansform, CGPDFDocument, etc, peuvent maintenant être appelées comme si elles étaient les méthodes d'un objet :

if let ctx = UIGraphicsGetCurrentContext() {
    ctx.setFillColor(UIColor.red().cgColor)
    ...
}
CGAffineTransform(translationX: 64, y: 0)

Swift 3 présente aussi des modifications de syntaxe permettant de nettoyer le langage, comme le retrait des opérateurs ++ et --, du var pour les paramètres des fonctions, et des boucles style C avec des conditions et des incréments, qui représentaient plus d'inconvénients que d'avantages.

La liste des modifications de Swift 3 est trop longue pour la couvrir ici. Vous pouvez en trouver le détail dans l'annonce officielle.

Evaluer cet article

Pertinence
Style

Bonjour étranger!

Vous devez créer un compte InfoQ ou cliquez sur pour déposer des commentaires. Mais il y a bien d'autres avantages à s'enregistrer.

Tirez le meilleur d'InfoQ

Donnez-nous votre avis

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet
Commentaires de la Communauté

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Html autorisé: a,b,br,blockquote,i,li,pre,u,ul,p

M'envoyer un email pour toute réponse à l'un de mes messages dans ce sujet

Discuter

Se connecter à InfoQ pour interagir sur ce qui vous importe le plus.


Récupérer votre mot de passe

Follow

Suivre vos sujets et éditeurs favoris

Bref aperçu des points saillants de l'industrie et sur le site.

Like

More signal, less noise

Créez votre propre flux en choisissant les sujets que vous souhaitez lire et les éditeurs dont vous désirez suivre les nouvelles.

Notifications

Restez à jour

Paramétrez vos notifications et ne ratez pas le contenu qui vous importe

BT