Structure Swift
Structure Swift est le code utilisé pour construire une structure commune et flexible.
Nous pouvons définir les propriétés de la structure (constantes, variables) et d'ajouter des méthodes pour étendre la structure fonctionnelle.
C et Objective C est différent:
Structure n'a pas besoin d'inclure le fichier de mise en œuvre et les interfaces.
Structure nous permet de créer un seul fichier, et le système génère automatiquement le code pour d'autres interfaces externes.
Structure toujours être reproduit par voie de transfert dans le code, de sorte que sa valeur ne peut être modifiée.
grammaire
Nous définissons la structure par le mot-clé struct:
struct nameStruct { Definition 1 Definition 2 …… Definition N }
Exemples
Nous définissons une structure appelée MarkStruct, propriétés structure étudiants pour marquer trois sujets, le type de données Int:
struct MarkStruct{ var mark1: Int var mark2: Int var mark3: Int }
Nous pouvons arriver à une structure par nom de structure.
Des exemples de la structure à l' aide du mot - clélet:
import Cocoa struct studentMarks { var mark1 = 100 var mark2 = 78 var mark3 = 98 } let marks = studentMarks() print("Mark1 是 \(marks.mark1)") print("Mark2 是 \(marks.mark2)") print("Mark3 是 \(marks.mark3)")
La sortie de l'exécution du programme ci-dessus est la suivante:
Mark1 是 100 Mark2 是 78 Mark3 是 98
Exemple, nous l'accès 'studentMarks de la réussite des élèves à travers le nom de la structure. membre de la structure est initialisée à mark1, mark2, mark3, type de données entier.
Nous utilisons ensuite leslet structure de mot - clé studentMarks () est instancié et passé aux marques.
Enfin, nous avons passé le numérode valeur pour accéder à l'élément de structure.
Les valeurs traditionnelles et le clonage d'une structure est instancié par les exemples suivants de la structure:
import Cocoa struct MarksStruct { var mark: Int init(mark: Int) { self.mark = mark } } var aStruct = MarksStruct(mark: 98) var bStruct = aStruct // aStruct 和 bStruct 是使用相同值的结构体! bStruct.mark = 97 print(aStruct.mark) // 98 print(bStruct.mark) // 97
La sortie de l'exécution du programme ci-dessus est la suivante:
98 97
Structure de l'application
Dans votre code, vous pouvez définir vos structures de type de données personnalisées.
Des exemples de la structure est toujours de définir vos types de données personnalisés passés par valeur.
Conformément à la règle générale, lorsque la conformité avec un ou plusieurs des critères suivants, examiner la structure du bâtiment:
- Le but principal de la structure est utilisée pour encapsuler des petites quantités de données liées à des valeurs simples.
- Raisonnable de penser qu'une cession d'instance de structure ou de transfert, les données encapsulées seront copiées, non référencées.
- Tout type de valeurs de propriété stockée dans la structure, il sera copié, non référencé.
- La structure n'a pas besoin d'hériter types de biens immobiliers ou d'autres du comportement existe déjà.
Par exemple, les situations suivantes pour l'utilisation de la structure:
- taille géométrique et la forme de l'emballage d' une
width
bien et laheight
des biens, qui sont tous deuxDouble
Type. - Chemins dans un certain intervalle, un paquet de
start
propriétés etlength
des propriétés, qui sont tous deuxInt
Type. - Trois dimensions système paquet de coordonnées
x
,y
etz
propriétés, trois sontDouble
Type.
Des exemples de la structure est passé par valeur plutôt que par référence.
import Cocoa struct markStruct{ var mark1: Int var mark2: Int var mark3: Int init(mark1: Int, mark2: Int, mark3: Int){ self.mark1 = mark1 self.mark2 = mark2 self.mark3 = mark3 } } print("优异成绩:") var marks = markStruct(mark1: 98, mark2: 96, mark3:100) print(marks.mark1) print(marks.mark2) print(marks.mark3) print("糟糕成绩:") var fail = markStruct(mark1: 34, mark2: 42, mark3: 13) print(fail.mark1) print(fail.mark2) print(fail.mark3)
La sortie de l'exécution du programme ci-dessus est la suivante:
优异成绩: 98 96 100 糟糕成绩: 34 42 13
L'exemple ci-dessus, nous définissons la markStruct structure, trois membres de la propriété: mark1, MARK2 et MARK3. Structure in vivo en utilisant les propriétés des membres Utilisez le mot-clé self.
D'après les exemples que nous pouvons bien comprendre l'instance de structure est passé par valeur.