Latest web development tutorials

struktura Swift

Swift struktura jest kod używany do zbudowania wspólnej i elastyczną strukturę.

Możemy zdefiniować właściwości konstrukcji (stałe, zmienne) i dodać metody rozszerzyć strukturę funkcjonalną.

C i Objective C jest inny:

  • Struktura nie musi zawierać plik wdrażania i interfejsy.

  • Struktura pozwala nam stworzyć jeden plik, a system automatycznie generuje kod dla innych interfejsów zewnętrznych.

Struktura zawsze być replikowane w drodze przeniesienia w kodzie, więc jego wartość nie może być modyfikowany.

gramatyka

Określamy strukturę poprzez słowa kluczowego struct:

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

Przykłady

Określamy strukturę zwaną MarkStruct, strukturę ogłoszenia dla studentów, aby zdobyć trzy przedmioty, typu danych Int:

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

Możemy dojść do struktury wg nazwy struktury.

Przykłady konstrukcji z użyciem słowakluczowego, że:

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

Wyjście powyżej wykonywanie programu jest:

Mark1 是 100
Mark2 是 78
Mark3 是 98

Przykład, mamy dostęp "studentMarks 'do osiągnięcia uczniów poprzez nazwę struktury. element konstrukcji jest inicjowany Mark1, Mark2, mark3, typ danych Integer.

Następnie używamyLET studentMarks struktura słów kluczowych () jest tworzony i przekazywane do znaków.

Wreszcie, mijaliśmyliczb, aby uzyskać dostęp do elementu konstrukcji.

Tradycyjne wartości i Klonowanie konstrukcji jest tworzony za pomocą następujących przykładów strukturze:

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

Wyjście powyżej wykonywanie programu jest:

98
97

struktura aplikacji

W kodzie można zdefiniować niestandardowe konstrukcje typu danych.

Przykłady konstrukcji jest zawsze definiować własne typy danych przekazywanych przez wartość.

Zgodnie z ogólną zasadą, jeśli spełnienie jednego lub więcej z poniższych kryteriów, rozważyć budowę budynku:

  • Głównym celem konstrukcji jest stosowany do zamykania niewielkich ilości danych związanych z prostych wartości.
  • Oczekiwać, że struktura przypisania instancji lub przekazanie kapsułkowane dane zostaną skopiowane, a nie odwoływać.
  • Każdy rodzaj wartości właściwości są przechowywane w strukturze, zostanie skopiowany, nie wymienionych.
  • Struktura nie musi odziedziczyć rodzaje nieruchomości lub innych zachowań już istnieje.

Na przykład, następujące sytuacje dla wykorzystania strukturze:

  • Geometryczne wielkość i kształt opakowania width nieruchomości i height majątku, z których oba są Double typu.
  • Ścieżki w pewnym zakresie, pakiet start właściwości i length właściwości, z których oba są Int typu.
  • Trójwymiarowy system pakietu współrzędnych x , y i z właściwości, trzy są Double typu.

Przykłady konstrukcji jest przekazywane przez wartość, a nie przez odniesienie.

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)

Wyjście powyżej wykonywanie programu jest:

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

Powyższy przykład, możemy zdefiniować markStruct strukturę, trzech członków własności: Mark1, Mark2 i mark3. Struktura vivo używając właściwościach członkowskich w użyciu słowa kluczowego samodzielne.

Z przykładów możemy dobrze zrozumieć instancja struktura jest przekazywane przez wartość.