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 iheight
majątku, z których oba sąDouble
typu. - Ścieżki w pewnym zakresie, pakiet
start
właściwości ilength
właściwości, z których oba sąInt
typu. - Trójwymiarowy system pakietu współrzędnych
x
,y
iz
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ść.