I. Structure de contrôle ▲
I-A. Écrire un bloc if▲
I-A-1. Objective-C▲
Notez que, dans le second exemple, l'instruction « if » teste si la variable « aString » est vide.
int
score =
25
;
if
(
score >
25
) {
}
NSString
*
aString;
if
(
aString) {
}
I-A-2. Swift▲
En Swift, nous devons noter que la variable a une valeur optionnelle à l'aide d'un point d'interrogation. Cela veut dire qu'elle peut être vide. Ensuite, nous utilisons l'instruction « let » et un nom afin de tester si la variable « aString » est vide.
var
score
=
25
if
score
>
25
{
}
var
aString
:
String
?
if
let
myString
=
aString
{
}
I-B. Écrire une instruction Switch▲
En Swift, l'instruction « switch » est bien plus flexible et peut-être utilisée avec différents types d'opérateurs de comparaisons. En Objective-C, l'instruction « switch » est limitée aux cas d'entiers.
I-C-1. Objective-C▲
int
numberOfPeople =
1
;
switch
(
numberOfPeople)
{
case
1
:
// code for this case
break
;
case
2
:
// code for this case
break
;
default
:
// code for this case
break
;
}
I-C-2. Swift▲
Notez que l'instruction « break » n'est plus nécessaire !
var
numberOfPeople
=
1
switch
numberOfPeople
{
case
1
:
// code for this case
case
2
:
// code for this case
default
:
// code for this case
}
var
carMake
=
"Toyota"
switch
carMake
{
case
"Toyota"
:
// code for this case
case
"Honda"
:
// code for this case
case
"Nissan"
,
"Subaru"
:
// code for this case
default
:
// code for this case
}
II. Les boucles▲
II-A. Écriture de boucles for▲
II-A-1. Objective-C▲
for
(
int
i =
0
; i <
10
; i++
) {
}
NSArray
*
array =
@[@"item 1"
, @"item 2"
];
for
(
NSString
*
item in
array) {
}
II-A-2. Swift▲
Observez le second exemple écrit en Swift. Il est équivalent au premier exemple. La notation « ... » représente un intervalle.
for
var
i
=
0
;
i
<
10
;
i
++
{
}
for
i
in
0
...
10
{
}
var
array
=
[
"item 1"
,
"item 2"
]
for
item
in
array
{
}
II-B. Écrire une boucle while ou une boucle do while▲
La syntaxe de la boucle « while » est presque identique à celle d'Objective-C (celle de Swift n'utilise pas de parenthèse).
II-B-1. Objective-C▲
int
count =
1
;
while
(
count <
10
) {
count++
;
}
do
{
count++
;
}
while
(
count <
10
);
II-B-2. Swift▲
var
count
=
1
while
count
<
10
{
count
++
}
do
{
count
++
}
while
count
<
10
III. Les collections▲
III-A. Déclaration d'un tableau▲
La déclaration de tableau en Objective-C se fait à l'aide des classes NSArray et NSMutableArray et chaque tableau contient un mélange d'objets provenant de différents types de classes.
III-A-1. Objective-C▲
NSMutableArray
*
myArray =
[[NSMutableArray
alloc] init];
NSMutableArray
*
myArray2 =
[@[@"item 1"
, @"item 2"
] mutableCopy];
III-A-2. Swift▲
Notez que dans le second exemple de ce qui suit, nous ne spécifions pas que la variable est de type tableau de chaînes de caractères, parce qu'il est déduit à partir du tableau que nous lui assignons, À partir des éléments d'un tableau, Swift peut déduire que la variable est un tableau et qu'il contient des objets de type chaînes de caractères.
Même dans le premier exemple, nous n'aurions pas besoin de spécifier le type de la variable, car il peut être déduit à partir de la valeur que nous lui assignons.
var
myArray
:[
String
]
=
[
String
]()
var
myArray2
=
[
"item 1"
,
"item 2"
]
III-B. Ajouter ou insérer des éléments dans un tableau▲
III-B-1. Objective-C▲
myArray[0
] =
@"item 1"
;
[myArray addObject:@"item 3"
];
[myArray insertObject:@"item 4"
atIndex:1
];
III-B-2. Swift▲
Observez que dans l'exemple qui suit vous pouvez utiliser l'opérateur “+=” pour ajouter des objets dans le tableau.
myArray
[
0
]
=
"item 1"
myArray
.
append
(
"item 3"
)
myArray
+=
"item 3"
myArray
.
insert
(
"item 4"
,
atIndex
:
1
)
III-C. Déclaration d'un dictionnaire▲
Comme les tableaux en Swift, les dictionnaires ont besoin d'être typés et pour cela, vous devez définir les types de classes que le dictionnaire va utiliser pour ses clefs et ses valeurs.
III-C-1. Objective-C▲
NSMutableDictionary
*
myDictionary =
[[NSMutableDictionary
alloc] init];
NSMutableDictionary
*
myDictionary2 =
[@{
@"key"
:@"object"
, @"key2"
:@"object 2"
}
mutableCopy];
III-C-2. Swift▲
var
myDictionary
=
Dictionary
<
String
,
String
>()
var
myDictionary2
=
[
"key"
:
"object"
,
"key2"
:
"object 2"
]
III-D. Ajouter et assigner des éléments à un dictionnaire▲
L'assignation d'un élément dans un dictionnaire en Swift et en Objective-C est très similaire,
III-D-1. Objective-C▲
[myDictionary setObject:@"object 3"
forKey:@"key3"
];
myDictionary[@"key2"
] =
@"object 4"
;
III-D-2. Swift▲
Notez qu'en Swift, vous pouvez utiliser la même syntaxe pour ajouter un couple clef/valeur ou réassigner un élément pour une valeur de clef.
myDictionary["key3"
] =
"object 3"
myDictionary["key2"
] =
"object 4"
IV. Que faire ensuite ?▲
Dans le prochain article de la série, nous allons nous intéresser aux protocoles et à la délégation ! Restez branché !
V. Remerciements Developpez▲
Nous remercions, Chris Ching, de nous avoir aimablement autorisé à publier son article. Cet article est une traduction autorisée dont le texte original peut être trouvé sur codewithchris.com. Nous remercions aussi Sirus64 pour sa traduction, LeBzul pour sa relecture technique ainsi que jacques_jean. pour sa relecture orthographique.