Plus tôt cette année, les dirigeants d’Apple ont dévoilé Swift, qui devrait éventuellement remplacer Objective-C comme langage de programmation de choix pour les Mac et les appareils iOS. Bien que Objective-C reste populaire, les développeurs se plaignent souvent de la difficulté de son utilisation; les fonctionnalités de Swift élimineront au moins certains de ces problèmes.
Malgré sa facilité d’utilisation, les développeurs devront encore passer du temps à apprendre le fonctionnement du langage. Ceci est le premier de quelques articles qui montrent comment programmer des applications iOS à l’aide de Swift.
Cliquez ici pour trouver des emplois en développement Swift.
Prérequis
Vous avez besoin d’un Mac capable d’exécuter OS X Mavericks. Au moment de la rédaction de cet article, vous ne pouvez programmer dans Swift que si vous êtes un développeur iOS enregistré. Pour développer et exécuter des applications Swift, vous devez disposer d’iOS 8 et de la version 6 de l’E Xcode d’Apple. (Vous devez être un développeur enregistré pour tester vos applications Swift sur votre iPhone, bien que vous n’ayez pas besoin d’en être un pour créer et exécuter ces mêmes applications sur un émulateur iPhone ou iPad.)
Pour les besoins de ce tutoriel, j’utilise une version bêta de XCode 6 (à ce jour, maintenant jusqu’à GM seed). Avant de commencer, veuillez télécharger les fichiers du projet et (si vous êtes un développeur Apple enregistré avec la dernière version bêta de Xcode) les installer. Après cela, ouvrez les fichiers de projet et chargez-les dans Xcode.
Qu’y a-t-il dans une application Swift ?
Pour créer une application Swift, vous devez d’abord créer un projet Xcode et sélectionner Swift comme langue. Après avoir rempli quelques détails, le logiciel créera un projet que, dans mon cas, j’ai nommé FirstExample. Il contiendra deux fichiers de code source pour démarrer, ainsi que deux informations.fichiers plist contenant des informations sur votre application et un fichier storyboard (dont nous n’aurons pas besoin pour cet exemple).
Ces actifs sont le minimum dont vous avez besoin pour créer une application capable de fonctionner. Mais si vous l’exécutez au début, vous obtiendrez juste un écran vide — vous devrez ajouter plus de code pour le faire faire n’importe quoi. Nous y reviendrons bientôt.
Téléchargez votre CVLES employeurs veulent des candidats comme vous. Téléchargez votre CV. Montrez-leur que vous êtes génial.
Autres préparations
Si vous suivez et avez créé une nouvelle application, il y aura une principale.fichier storyboard dans la liste des fichiers de projet. Veuillez le supprimer et modifier les informations.fichier plist. Supprimez la clé qui commence par « Nom du fichier des storyboards principaux. »
Les deux fichiers de code source sont AppDelegate.swift et ViewController.Swift. Dans iOS, un délégué est une classe qui fait quelque chose au nom d’une autre classe, et AppDelegate est un endroit pour gérer des états UIApplication spéciaux. Il a un tas de fonctions appelées par iOS. Par exemple, si votre application est utilisée et que le téléphone sonne, la fonction applicationWillResignActive sera appelée. C’est là que vous devez mettre en pause les tâches, désactiver les minuteries, etc.
Voici une liste des fonctions qui sont bloquées dans AppDelegate.Swift. Si votre application prend en charge le traitement en arrière-plan, applicationDidEnterBackground est appelée, sinon applicationWillTerminate. Ces fonctions sont des endroits où ajouter du code pour enregistrer des données, mais nous n’utiliserons que la première :
func applicationWillResignActive(application: UIApplication)
func applicationDidEnterBackground(application: UIApplication)
func applicationWillEnterForeground(application: UIApplication)
func applicationDidBecomeActive(application: UIApplication)
func applicationWillTerminate(application:UIApplication)
Si la première définition de fonction contient NSObject:AnyObject, modifiez-la pour qu’elle lise NSObject:NSDictionary. C’est la fonction à laquelle nous devons ajouter du code; c’est là que tout commence. Le Bool -> signifie qu’il renvoie une valeur bool, c’est-à-dire true ou false. Si quelque chose ne va pas dans votre code au démarrage de l’application, il retournera « false » (mais dans notre cas, il retournera toujours true).
Ajout de code à AppDelegate.swift
C’est ce que toute l’AppDelegate.le fichier swift devrait ressembler. J’ai supprimé les commentaires pour rester court:
Dans Swift, vous créez une instance d’une classe comme celle-ci: window = UIWindow(.. ) pour créer une instance de UIWindow. Ce n’est qu’un paramètre transmis, et il s’appelle frame avec la valeur UIScreen.Écran principal ().Limites, qui spécifie la taille de tout l’écran. Notez que la fenêtre est définie dans la classe comme UIWindow?. Le point d’interrogation signifie que c’est un type facultatif et que la valeur peut être absente ou présente; c’est similaire à une valeur nulle dans d’autres langages, mais cela fonctionne pour tous les types, pas seulement les classes.
La fenêtre if let = vérifie que la fenêtre est présente et déballe la fenêtre (qui est de type UIWindow?) afin que les propriétés et méthodes UIWindow puissent être utilisées. Essayez de commenter la ligne « if let » et le « } » correspondant (en utilisant //), et vous obtiendrez trois erreurs de compilation similaires, la première disant que backgroundColor n’est pas membre de UIWindow? C’est un membre de UIWindow, donc pour obtenir de UIWindow? Pour UIWindow, il faut déballer; ajoutez un « ! »à la fin du nom de la variable pour le déballer (fenêtre!.backgroundColor = fonctionnera). Cela étant dit, sans le déballage fourni par « if let », chaque fenêtre.la référence dans le bloc devrait également être la fenêtre!. « If let » fait les trois déballages.
Les lignes de cette instruction définissent ViewController comme contrôleur de vue racine, qui est le premier créé. Les contrôleurs de vue que vous implémentez contrôlent l’intégralité de la navigation de votre application. Apple À propos des contrôleurs de vue vaut la peine d’être lu si vous voulez comprendre l’ensemble du concept; cependant, dans ce cas, nous ne couvrirons qu’un seul exemple. Mais que fait exactement un contrôleur de vue?
Qu’est-ce qu’un Contrôleur de vue ?
La zone d’écran d’un appareil iOS est gérée par un ou plusieurs contrôleurs de vue, qui sont utilisés à la fois pour naviguer entre les formulaires et pour gérer les vues sur un formulaire donné. Une vue est une instance d’un UIView ou une sous-classe d’un UIView, et gère une zone rectangulaire sur le formulaire. Si le formulaire est l’équivalent d’un bureau physique, les contrôleurs de vue de formulaire seraient les gestionnaires de ce bureau, et les vues sont les employés qui effectuent réellement le travail.
Chaque formulaire d’une application est géré par un et (parfois plus) contrôleurs de vue. Si un formulaire comporte une partie fixe et une partie défilante, vous pouvez utiliser un contrôleur de vue différent pour chaque partie.
Dans cette application, il y a un contrôleur de vue pour les contrôles et un qui gère l’alerte contextuelle lorsque vous cliquez sur le bouton.
Le contrôleur de vue principal de mon application a une vue comprenant une étiquette (UILabel), une zone d’édition de texte (UITextField) et un bouton (UIButton). Lorsque vous exécutez l’application, tapez du texte dans la zone d’édition du texte, puis cliquez sur le bouton. Cela affichera un message d’alerte affichant le texte que vous avez tapé:
Vous pouvez également concevoir visuellement le flux utilisateur via votre application à l’aide de storyboards, qui reposent sur moins de code et aident à éliminer les erreurs que vous obtiendrez avec la gestion manuelle des contrôleurs de vue dans le code. Dans cet exemple, cependant, tout est créé dans le code dans ViewController.Swift.
Vues et Contrôleurs de vues
Chaque contrôleur de vue a une propriété de vue qui est une collection d’UIViews. Les contrôles que vous placez à l’écran sont toutes des sous-classes d’UIView et sont ajoutés à cette vue.
Dans notre exemple, la vue est créée dans la méthode viewDidLoad() du contrôleur de vue remplacé. J’ai codé ceci pour appeler la fonction makeLayout(), où les contrôles UILabel et UIButton sont créés. Le champ UITextField a été créé au niveau de la classe car il doit être accessible dans la fonction buttonAction(). Les trois contrôles ont leurs propriétés définies dans makeLayout() ; un contrôle n’apparaît pas tant qu’il n’est pas ajouté à la vue en appelant la vue du contrôleur de vue.Méthode addSubview().
La classe ViewController démarre comme ceci:
La variable msg contient la chaîne saisie. Parce que nous devons accéder au champ de texte en dehors de la méthode makeLayout() (voir ci-dessous), il est créé au niveau de la classe.
Cette méthode est en trois parties ; la première crée un contrôle UILabel avec l’instruction :
let FirstLabel=UILabel()
Les six lignes suivantes définissent les propriétés FirstLabel. Notez que le compilateur est assez intelligent pour le savoir.redColor() est l’abréviation de UIColor.Couleur rouge (). Enfin, le contrôle est ajouté à la vue avec l’instruction addSubview().
Le contrôle UITextField a déjà été créé au niveau de la classe, nous venons donc ici de définir les propriétés et de l’ajouter à la vue. Le bouton est créé, les propriétés définies et il est ajouté à la vue.
Le bouton UIB.La méthode addTarget() a un paramètre d’action qui spécifie le nom de la fonction à appeler lorsque vous cliquez sur le bouton, et elle a un « : » final comme « buttonAction: ». Cela appelle la méthode buttonAction() nommée de manière imaginative.
func buttonAction(sender:UIButton) {
msg=MyEdit.text
showAlert(sender)
}
La méthode buttonAction() attribue la chaîne de texte du champ de texte à la variable msg, qui est ensuite affichée par la méthode ShowAlert(). Cela utilise le nouveau UIAlertController iOS 8, qui remplace l’ancien UIAlertView (maintenant obsolète). La méthode showAlert() crée une instance d’un UIAlertController, ajoute une action pour que vous ayez quelque chose à cliquer, puis appelle presentViewController(), ce qui est une façon pour un contrôleur de vue de passer à un autre.
Commentaires Sur le Code
Le mot clé « var » est utilisé pour déclarer une variable tandis que « let » est utilisé pour déclarer une variable constante ou immuable. Bien que les contrôles soient déclarés comme immuables, cela signifie simplement que vous ne pouvez pas modifier l’instance de contrôle, mais vous pouvez modifier ses propriétés. L’alerte est implémentée par un UIAlertController ; un autre type de contrôleur de vue.
- Python, Swift, JavaScript, Java: Les Meilleures façons de les apprendre
- Voici Apple pour vous apprendre Sur Swift
- Un Premier aperçu du Langage de programmation Swift d’Apple