Latest web development tutorials

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 la height des biens, qui sont tous deux Double Type.
  • Chemins dans un certain intervalle, un paquet de start propriétés et length des propriétés, qui sont tous deux Int Type.
  • Trois dimensions système paquet de coordonnées x , y et z propriétés, trois sont Double 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.