[SWIFT] Comprenons le type facultatif (enveloppé)!

Maintenant que nous avons appris le type facultatif , nous allons le générer.

Quel est le type facultatif (enveloppé)?

*** Facultatif (enveloppé) En un mot, c'est un type qui représente une valeur ou un type vide. *** *** Fondamentalement, les variables et les constantes Swift n'autorisent pas nil, mais lors de l'utilisation de ce nil *** Utilisez le type facultatif (enveloppé)! ***

Par exemple

qiita.rbvar


1.var n: Int
2.
3.print(n)//Erreur

Comme mentionné ci-dessus, une erreur se produit si vous essayez de générer une valeur qui n'existe pas. C'est là que le type facultatif (enveloppé) entre en jeu.

qiita.rbvar


1.var n: Optional<Int>
2.
3.print(n)//nil

Comme mentionné ci-dessus, si vous utilisez le type facultatif (enveloppé), aucune erreur ne se produira et nil sera affiché.

De cette façon, une erreur se produit car le comportement est *** "Si vous encapsulez les données avec" Type facultatif "***, " nil " sera retourné si la valeur n'existe pas." Peut être évité. Il s'agit de l'utilisation de base de *** "Type facultatif" ***.

Qu'est-ce qu'un déballage de type facultatif (enveloppé)?

Le type facultatif (enveloppé) peut ne pas avoir de valeur, il ne peut donc pas être traité de la même manière qu'une variable ou constante de type enveloppé. Par exemple, Int? Quatre règles d'opérations de type à type entraîneront une erreur.

qiita.rbvar


1.let a: Int? = 1
2.let b: Int? = 1
3.a+b//Erreur

Déballez pour éviter cette erreur. Il existe trois façons de déballer.

○ *** Reliure facultative *** ○ ? ?? opérateur ○ *** Déballage forcé ***

Creusons profondément un par un!

Qu'est-ce qu'une liaison facultative?

qiita.rbvar


if let nom constant= Optional(Wrapped)Moule{

//Instruction exécutée si la valeur existe

}

Comme dans l'instruction ci-dessus, si vous utilisez une instruction if-let et que vous avez une valeur Wrapped, l'instruction {} sera exécutée. Dans l'exemple suivant, il y a une valeur dans la constante A, donc la valeur est affectée à la constante a de type String et l'instruction exécutable est exécutée!

qiita.rbvar


1.let A: Optional("1") //Type int
2.if let A {
print(type(of:1))

//Résultat d'exécution: Int

}

Qu'est-ce que l'opérateur ???

Dans l'exemple suivant,? ?? Type de chaîne avec la valeur de type chaîne "a" sur le côté gauche de l'opérateur? La valeur "b" du type String est spécifiée sur le côté droit de la constante optionalString de, et par conséquent, la valeur "a" sur le côté gauche est acquise.

qiita.rbvar


1.let optionalString:String? = "a"
2.if String = optionalString ?? "b"

//Résultat d'exécution a

Qu'est-ce que le déballage forcé?

Le dépliage forcé est une méthode d'extraction forcée de la valeur du type Wrapped du type Optional (Wrapped). Pour faire un déballage forcé! Utilisez l'opérateur. Dans ce qui précède, j'ai mentionné qu'il ne peut pas être traité de la même manière qu'une variable ou une constante de type Wrapped, mais qu'il peut être récupéré en utilisant le déballage forcé.

qiita.rbvar


let a : Int? = 1
let b : Int? = 1
a!+b! = //2

Recommended Posts

Comprenons le type facultatif (enveloppé)!
Comprenons la fonction!
Comprenons la déclaration if!
Comprenons la déclaration for-in!
Java Type facultatif
Comprenons la fermeture!
Attaquons la vulnérabilité (1) injection de commande OS (injection de type OGNL)
null spécifie le type
Améliorons l'application
Essayons le tutoriel S2Struts (# 3_180425)
Comprendre la méthode d'assistance form_with
Essayons le tutoriel S2Struts (# 5_180526)
Essayons le tutoriel S2Struts (# 4_180505)
À propos de l'explication sur le type de fonction
Résolvons le problème FizzBuzz!
Essayons le tutoriel S2Struts (# 2_180424)
[Android / Java] Comprendre le type de description dans les paramètres d'écoute (installation du bouton)