En swift, les propriétés sont utilisées pour décrire les attributs d’un objet et ceux-ci peuvent être une constante ou une variable dans les classes, les structures ou les énumérations.

En swift, les propriétés sont utilisées pour stocker les valeurs des classes, des structures ou des énumérations et les propriétés ont des méthodes getter et setter pour modifier ou définir les valeurs des propriétés en fonction de nos besoins.

Swift Définir une propriété

Suivant est l’exemple simple de la création d’une classe avec des propriétés dans un langage de programmation swift.

classe UserDetails {

var firstName : Chaîne = «  »

var lastName : String = «  »

}

Si vous observez l’exemple ci-dessus, nous avons défini une classe « UserDetails » avec deux propriétés (firstName, lastName).

Attribution et accès rapide aux propriétés

Voici l’exemple de déclaration et d’attribution de valeurs aux propriétés définies dans la classe.

classe UserDetails {

var firstName : Chaîne = «  »

var lastName : Chaîne = «  »

}

var uinfo = UserDetails()

uinfo.firstName = « Suresh »

uinfo.lastName = « Dasari »

print(« Nom : \( uinfo.firstName) \(uinfo.lastName) »)

Si vous observez l’exemple ci-dessus, nous avons défini une deux propriétés « firstName », « lastName » et ces valeurs sont associées à la classe « UserDetails ». Après cela, nous avons créé une instance pour cette classe et accéder aux propriétés dans la classe pour attribuer des valeurs basées sur nos exigences.

Lorsque nous exécutons le programme ci-dessus dans le playground swift, nous obtiendrons un résultat comme indiqué ci-dessous

Nom : Suresh Dasari

De la même manière, nous pouvons définir et accéder aux propriétés des structures et des énumérations en fonction de nos besoins dans le langage de programmation swift.

Nous avons un type différent de propriétés disponibles dans le langage de programmation swift ceux sont

  • Propriétés stockées
  • Propriétés calculées

Propriétés stockées de swift

En swift la propriété stockée est une constante ou une variable et elle est stockée comme une partie d’une instance d’une classe ou d’une structure particulière. La propriété stockée peut être utilisée pour stocker une variable avec le mot clé var et une constante avec le mot clé let.

Nous pouvons fournir des valeurs par défaut pour une propriété stockée comme une partie de sa définition et nous pouvons modifier les valeurs initiales d’une propriété stockée pendant son initialisation.

Nous allons maintenant voir comment définir les propriétés stockées dans les classes et comment modifier les valeurs initiales des propriétés stockées pendant son initialisation avec un exemple.

Voici l’exemple de la définition des propriétés stockées en tant que partie de la classe ou de la structure dans un langage de programmation swift.

struct UserDetails {

var firstName : String = « Rohini »

let lastName : String

}

var uinfo = UserDetails(firstName : « Suresh », lastName :  » Dasari »)

print(« Nom : \( uinfo.firstName) \(uinfo.lastName) »)

Si vous observez l’exemple ci-dessus, nous avons défini deux propriétés stockées (firstName, lastName) l’une comme variable (var) et l’autre comme constante (let) avec des valeurs initiales. Après cela, nous avons créé une instance de structure et modifié les valeurs initiales pendant son initialisation.

Lorsque nous exécutons le programme ci-dessus dans le playground swift, nous obtiendrons un résultat comme indiqué ci-dessous

Nom : Suresh Dasari

C’est ainsi que nous pouvons définir des propriétés stockées dans des classes, des structures, des énumérations en fonction de nos besoins dans le langage de programmation swift.

Propriétés stockées pour des instances de structures constantes

En swift, nous pouvons définir une classe ou une structure avec des propriétés stockées comme une constante. Dans le cas où nous définissons une propriété constante avec une valeur initiale alors il ne nous est pas possible de modifier cette valeur car une fois la valeur assignée à une variable constante qui doit être la même dans toute l’application.

Dans le cas où nous essayons de modifier la valeur de la propriété constante pendant son initialisation ou avec l’instance d’une classe, le compilateur jettera une erreur.

Suivant est l’exemple de modification de la valeur de la propriété constante stockée après avoir initialisé la valeur pendant la création de l’instance de la classe.

struct UserDetails {

var firstName : String = « Rohini »

let lastName : String

}

var uinfo = UserDetails(firstName : « Suresh », lastName :  » Dasari »)

uinfo.lastName = « Alavala »

print(« Nom : \( uinfo.firstName) \(uinfo.lastName) »)

Si vous observez l’exemple ci-dessus nous avons défini une propriété constante « lastName » et assigné une valeur à la variable pendant la création de l’instance de la classe. Après cela, nous essayons à nouveau de modifier la valeur de la variable constante.

Lorsque nous essayons d’exécuter l’exemple ci-dessus dans le playground swift, nous obtiendrons une erreur comme indiqué ci-dessous

Error : cannot assign to property : ‘lastName’ is a ‘let’ constant

Une fois que nous attribuons une valeur à la propriété constante qui doit être la même dans toute l’application, sinon elle lancera une erreur. Pour plus d’informations sur les constantes, consultez ce Swift Constants.

Swift Lazy Stored Properties

En swift lazy stored property est une propriété dont la valeur initiale n’est pas chargée avant la première utilisation de la valeur de la propriété. En swift, nous pouvons définir une propriété stockée paresseuse en utilisant le mot-clé lazy avant sa déclaration.

En swift les propriétés stockées paresseuses sont utiles lorsque la valeur initiale de la propriété n’a pas besoin d’être chargée jusqu’à ce qu’elle soit utilisée dans l’application. Supposons que nous avons une propriété et nous avons besoin d’effectuer des opérations complexes pour charger ou initialiser la valeur, mais il est nécessaire que dans des endroits spécifiques dans ce cas si nous utilisons lazy stored properties ces valeurs ne seront pas charger jusqu’à ce que nous l’utilisons dans notre code.

Nous allons maintenant voir comment utiliser les propriétés stockées paresseuses dans les applications swift avec des exemples.

Voici l’exemple d’utilisation de lazy stored property dans le langage de programmation swift.

classe Student {

var name : String

lazy var studentInfo : String = {

return « Welcome to Tutlane, \(self.name) ! »

}()

init(name : String) {

self.name = name

}

}

let stu = Student(name : « Suresh »)

print(stu.studentInfo)

Si vous observez l’exemple ci-dessus, nous avons défini une propriété stockée paresseuse « studentInfo » en utilisant le mot clé lazy. La valeur de cette propriété ne sera pas chargée jusqu’à ce que l’instruction print appelle la propriété de l’instance de la classe student.

Lorsque nous exécutons le programme ci-dessus dans le playground swift, nous obtiendrons un résultat comme celui indiqué ci-dessous

Bienvenu à Tutlane, Suresh !

Voici comment nous pouvons utiliser les propriétés stockées paresseuses dans un langage de programmation swift en fonction de nos exigences.

Ici nous devons nous rappeler que toujours nous devons déclarer les propriétés stockées paresseuses comme une variable (var) parce que sa valeur n’est pas récupérée jusqu’à ce que l’initialisation de l’instance se termine, mais pour les propriétés constantes (let) doit avoir une valeur avant que l’initialisation se termine c’est la raison pour laquelle toujours nous devons définir les propriétés paresseuses comme des variables.

Swift Computed Properties

En swift contrairement aux propriétés stockées, les propriétés calculées ne stockeront pas une valeur au lieu de cela les propriétés calculées fourniront un getter et un setter optionnel pour récupérer et définir indirectement les valeurs d’autres propriétés. Nous pouvons définir des propriétés calculées dans les classes, les structures et les énumérations en fonction de nos besoins.

Voici l’exemple de définition de propriétés calculées utilisant un getter et un setter pour définir des valeurs dans le langage de programmation swift.

classe Circle {

var radius : Double?

var cval : Double?

var Area : Double {

get {

return radius ! * rayon!

}

set (newArea){

cval = Double(newArea) * 3.14

}

}

}

let result = Circle()

result.Area = 20

print(result.cval)

Si vous observez l’exemple ci-dessus, nous définissons une nouvelle valeur pour la propriété « Area » en utilisant les propriétés getter et setter.

Lorsque nous exécutons le programme ci-dessus dans le playground swift, nous obtiendrons un résultat comme indiqué ci-dessous

62,800000000000004

C’est ainsi que nous pouvons utiliser les propriétés calculées dans un langage de programmation swift pour utiliser des valeurs sans stockage en fonction de nos besoins.

Swift Read-Only Computed Properties

Une propriété calculée avec seulement un getter mais pas de setter est connue comme une propriété calculée en lecture seule. Dans swift, nous pouvons accéder à une propriété calculée en lecture seule par la syntaxe du point (.) et elle renvoie toujours une valeur.

Voici l’exemple d’utilisation de propriétés calculées en lecture seule dans un langage de programmation swift.

classe Multiplication {

var num1 : Int = 5

var num2 : Int = 5

var multiplier : Int {

get {

return num1 * num2

}

}

let r = Multiplication()

print(r.multiply)

Dans l’exemple ci-dessus, nous avons défini deux propriétés avec des valeurs par défaut dans la classe et multiplié ces deux nombres en utilisant le getter. Après cela, nous avons créé une instance pour la classe et l’accès à la valeur getter en utilisant la syntaxe point (.).

Lorsque nous exécutons le programme ci-dessus dans le terrain de jeu swift, nous obtiendrons le résultat comme indiqué ci-dessous

25

C’est la façon dont nous pouvons utiliser les propriétés calculées en lecture seule pour définir les valeurs en utilisant la propriété getter dans le langage de programmation swift.

Swift Property Observer

En swift les observateurs de propriétés sont utilisés pour observer et répondre aux changements de la valeur de la propriété et ces observateurs de propriétés vont appeler à chaque fois que la valeur de la propriété change, même si la nouvelle valeur de la propriété même que la valeur actuelle de la propriété.

En swift, les changements de propriétés peuvent être observés en utilisant les deux observateurs suivants.

  • willSet – Cet observateur est appelé juste avant que la valeur soit stockée.
  • didSet – C’est un observateur est appelé après que la nouvelle valeur soit stockée.

En swift, nous pouvons utiliser des observateurs de propriétés dans toutes les propriétés stockées, sauf les propriétés stockées paresseuses.

Voici l’exemple d’utilisation des propriétés willSet et didSet dans un langage de programmation swift.

classe Changes {

var num1 : Int = 10 {

willSet(newvalue) {

print(« Valeur de \(newvalue) »)

}

didSet {

if num1 > oldValue {

print(« Ajouté \(num1 – oldValue) »)

}

}

}

}

let result = Changes()

resultat.num1 = 34

résultat.num1 = 987

Si vous observez l’exemple ci-dessus, nous avons utilisé les observateurs willSet et didSet et ces propriétés sont appelées chaque fois que la valeur de la propriété est modifiée.

Lorsque nous exécutons le programme ci-dessus dans le terrain de jeu swift, nous obtiendrons le résultat comme indiqué ci-dessous

Valeur de 34

Ajouté 24

Valeur de 987

Ajouté 953

Propriété de type swift

En swift, les propriétés d’instance sont associées à une instance de classe ou de structure, les propriétés de type sont associées à un type lui-même, n’appartient à aucune instance du type.

En swift, nous pouvons définir une propriété de type avec le mot clé static et pour les propriétés de type calculées et pour les types de classe, nous devons utiliser le mot clé class mais il ne permettra pas de surcharger les méthodes ou les variables de la superclasse.

Voici l’exemple d’utilisation de la propriété de type dans le langage de programmation swift.

structure typepro {

static let msg = « Welcome to Tutlane »

}

classe Class1 {

func test() { print(typepro.msg) }

}

classe Class2 {

func test() { print(typepro.msg) }

}

var ss = Class1()

ss.test()

Si vous observez l’exemple ci-dessus, nous avons défini une propriété de type avec le mot-clé static et l’accès aux valeurs de la propriété de type en référençant le nom et en utilisant la syntaxe point pour accéder à la valeur.

Lorsque nous exécutons le programme ci-dessus dans le langage de programmation swift, nous obtiendrons le résultat comme indiqué ci-dessous.

Bienvenue à Tutlane

Swift Interroger et définir les propriétés de type

En swift, les propriétés de type sont interrogées et nous pouvons ensuite définir la valeur avec la syntaxe point (.) tout comme lorsque nous créons une instance et attribuons des valeurs aux propriétés. Cependant, les propriétés de type sont interrogées et définissent la valeur des propriétés sur le type, et non sur une instance de ce type.

Voici l’exemple d’utilisation des propriétés de type dans le langage de programmation swift.

structure typerepo {

static var msg = « Welcome »

}

print(typerepo.msg)

typerepo.msg = « Bienvenue à Tutlane »

print(typerepo.msg)

Si vous observez l’exemple ci-dessus, nous avons créé la propriété type et la mise en place de la valeur directement en utilisant une instance de ce type.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.