Latest web development tutorials

struttura Swift

Struttura Swift è il codice usato per costruire una struttura comune e flessibile.

Siamo in grado di definire le proprietà della struttura (costanti, variabili) e aggiungere metodi per estendere la struttura funzionale.

C e Objective C è diverso:

  • Struttura non deve includere il file di implementazione e le interfacce.

  • Struttura ci permette di creare un singolo file, e il sistema automaticamente generare il codice per le altre interfacce esterne.

Struttura sempre essere replicata mediante trasferimento in codice, quindi il suo valore non può essere modificato.

grammatica

Definiamo la struttura attraverso la parola chiave struct:

struct nameStruct { 
   Definition 1
   Definition 2
   ……
   Definition N
}

Esempi

Definiamo una struttura chiamata MarkStruct, proprietà di struttura per gli studenti di segnare tre soggetti, il tipo di dati Int:

struct MarkStruct{
   var mark1: Int
   var mark2: Int
   var mark3: Int
}

Siamo in grado di giungere ad una struttura per nome della struttura.

Esempi della struttura utilizzando la parola chiavelet:

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)")

L'output sopra l'esecuzione del programma è il seguente:

Mark1 是 100
Mark2 是 78
Mark3 是 98

Esempio, abbiamo accesso "studentMarks 'per i risultati degli studenti attraverso il nome della struttura. membro della struttura viene inizializzato a MARK1, MARK2, Mark3, tipo di dati integer.

Abbiamo quindi utilizzare iLet studentMarks struttura parola chiave () viene istanziato e passato ai marchi.

Infine, siamo passati di unvalore per accedere al membro della struttura.

I valori tradizionali e la clonazione di una struttura è istanziato dai seguenti esempi della struttura:

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

L'output sopra l'esecuzione del programma è il seguente:

98
97

struttura dell'applicazione

Nel codice, è possibile definire le strutture di tipo dati personalizzati.

Esempi della struttura è sempre quello di definire i tipi di dati personalizzati passati per valore.

In conformità con la regola generale, quando la conformità con uno o più dei seguenti criteri, considerare struttura dell'edificio:

  • Lo scopo principale della struttura viene utilizzata per incapsulare piccole quantità di dati relativi a valori semplici.
  • Ragionevole aspettarsi che un incarico istanza di struttura o il trasferimento, i dati incapsulati vengono copiati, non fa riferimento.
  • Qualsiasi tipo di valori di proprietà memorizzati nella struttura, verrà copiato e non richiamati.
  • La struttura non necessita di ereditare tipi di proprietà o altri comportamenti esiste già.

Ad esempio, le seguenti situazioni per l'uso della struttura:

  • dimensione geometrica e la forma del pacchetto di un width proprietà e l' height di proprietà, che sono entrambi Double tipo.
  • Percorsi entro un certo intervallo, un pacchetto start proprietà e length proprietà, che sono entrambi Int tipo.
  • Tridimensionale sistema di quel pacchetto di coordinate x , y e z proprietà, tre sono Double tipo.

Esempi della struttura viene passato per valore piuttosto che per riferimento.

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)

L'output sopra l'esecuzione del programma è il seguente:

优异成绩:
98
96
100
糟糕成绩:
34
42
13

L'esempio di cui sopra, definiamo il markStruct struttura, tre membri della proprietà: MARK1, MARK2 e Mark3. Struttura in vivo utilizzando le proprietà dei membri Utilizzare la parola chiave auto.

Dagli esempi possiamo ben comprendere l'istanza di struttura viene passata per valore.