Xcode
Applications
© The scientific sentence. 2010
| |
|
Xcode
1. Le langage Swift
Swift est un langage de programmation développé par Apple Inc.
pour iOS, iPadOS, macOS, watchOS, tvOS, Linux OS. Il est conçu pour
fonctionner avec les API (interface de programmation d’application)
Apple Cocoa et Cocoa Touch et avec le code Objective-C existant
écrit pour les produits Apple.
En 2010, Chris Lattner , un informaticien aéricain, a commencé le développement
du langage Swift et prend ses sources dans de nombreux langages
de programmation tels qu'Objective-C, Ruby, Python, Caml ou C#.
La première version publique 1.0 a été publiée le 2 juin 2014.
En juin 2015, Apple annonce le passage en open-source du langage
Swift. IL sera effectif en décembre de la même année. La version 5.0 est disponible
depuis le 25 mars 2019.
2. Syntaxe du langage
Les variables et les constantes permettent de stocker des informations.
2.1. Les Variables
Swift supporte les types Int , Double , Float ,
Char , String et Bool .
Il n'est pas nécessaire de préciser le type d'une variable lors de
sa création. On le faire explicitement.
var GrandChose = 20
var PetitChose = 20.0
var AutrChose: Float = 20
// On précise ici explicitement le type de la variable
Il est possible de nommer une variable en utilisant aussi des caractères
unicodes, par exemple :
let π = 3.14159
let & = "ampersand"
let fréquent = "souvent"
2.2. Les Constantes
Les constantes sont utilisés pour toute les valeurs qui resteront
inchangées lors du programme.
let pi = 3.14159
let CinqPi = 5 * pi
3. Les Conditions
Il existe plusieurs types de conditions en Swift, notamment if, switch et if let.
3.1. Condition if
if time == 12
{
print("That is fine")
}
else
{
print("Your are late")
}
Il est également possible d'utiliser else if :
if time <= 10
{
print("retard")
}
else if age >= 12
{
print("En avance")
}
else
{
print("Correct ")
}
3.2. Condition switch
switch jourSmaine
{
case 1:
print("D")
case 2:
print("L")
case 3:
print("MA")
case 4:
print("ME")
case 5:
print("J")
case 6:
print("V")
case 7:
print("S")
default:
print("Nom indisponible pour votre figure")
}
Si toutes les valeurs possibles de la variable de case ne
peuvent etre citées, on ajoute defaut comme fin de variable.
3.3. Autre situations
switch caractere
{
case "a","b","b","o","w","y":
print("lettre")
case "1", "2", "3", "4":
print("nombre")
default:
print("caractère inéxistant ..")
}
3.4. Condition if else
La condition if let est un type de condition permettant d'accéder
à la valeur d'une variable, si celle-ci en contient une, dans un bloc de code :
....
catarina
....
// est un bloc de code ...
if let y = catarina
{
print(y + 10)
}
else
{
print("y n'a pas de valeur")
}
4. Les Boucles
Il existe plusieurs types de boucle en Swift, notamment while,
repeat while et for in. Tout comme les conditions, les conditions
de boucle ne nécessitent pas d'être entourées par des parenthèses.
4.1. Boucles while
Les boucles while répètent leurs instructions tant que leur condition est vraie.
// Exemple d'une boucle affichant les nombres de 5 à 12
var i = 5
while i < 12
{
print(i)
i += 1
}
4.2. Boucles for in
Les boucles for in sont sans doute les plus fréquentes
en Swift.
Exemple:
let noms = ["a", "b", "c"]
for nom in noms
{
print("Hi, \(nom) !")
}
Elle peut etre ecrite aussi èa l'aide de while:
let noms = ["a", "b", "c"]
var i = 0
while i < noms.count
{
print("Hi, \(nom) !")
i += 1
}
Swift permet de réaliser une itération sur un intervalle
scalaire grâce à l'opérateur d'intervalle fermé « ... » :
for i in 1...8
{
print("i = \(i)")
}
4.3. Boucles repeat while
La boucle repeat while permet de répéter au moins une fois les
instructions de la boucle, c'est seulement après la première exécution
des instructions que la condition est vérifiée afin de répéter ou non la boucle.
Exemple:
// Soit la fonction NombreRandom() qui retourne un entier
aléatoire en 1 et 10
var valeur1: Int
var valeur2: Int
repeat
{
valeur1 = NombreRandom()
valeur2 = NombreRandom()
print("\(valeur1) et \(valeur2)") /
} while !(valeur1 == 7 && valeur2 == 7) // Tant qu'on a pas un double sept
5. Les Optionnels
Un optionnel est un type générique permettant de représenter,
pour tout type donné, une valeur ou bien l'absence de valeur.
Afin de déclarer un type optionnel, on fait suivre son nom d'un point
d'interrogation, par exemple Int? ou encore Double?.
Exemple:
Conversion d'une chaine de caractère String vers un entier :
let x = Int(abcd)
Dans de tels cas il n'est pas possible de convertir la chaine
de caractères abcd vers un entier, et x n'aura donc pas de
valeur, c'est-à-dire qu'il sera nil.
Dans le cas où la chaine de caractères contiendrait une valeur
convertible, par exemple 27 , la conversion sera possible
et x aurait bien contenu une valeur, 27.
6. L'opérateur ??
L'opérateur ?? permet un grand gain d'espace et de lisibilité
dans certains cas, ainsi, le code suivant :
if let nom = catazina
{
print(nom)
}
else
{
print("nom inconnu.")
}
Est remplaçable par une seule ligne:
print(nom ?? "nom inconnu.")
7. Les Classes
La déclaration d'une classe crée un nouveau type auquel sont
associées des variables nommées propriétés, et des fonctions nommées
méthodes.
Voici un exemple de création de classe en Swift, celle-ci stocke des informations
basiques sur un instrumemnt de musique à cordes (nom et nombre de cordes) et
peut retourner une chaine de caractères décrivant cet instrument avec la fonction
instrument_description:
class Instrument_Cordes
{
// Exemple de propriétés
var cordes: Int
var nom: String
// Fonction d'initialisation
init(nombre_cordes: Int, nom_instrument String)
{
self.nom = nom_instrument
self.cordes = nombre_cordes
}
// Exemple de méthode
func instrument_description() -> String
{
return "L'instrument\(nom) possède \(cordes) cordes."
}
}
|
|