Najlepszy samouczek Metody Swift W 2024 r. W tym samouczku możesz dowiedzieć się Metody instancji,Lokalna nazwa parametru oraz nazwę metody parametry zewnętrzne,nieruchomości na własny,Modyfikacja metody instancji typu wartości,W zmiennej procesowej przypisany do siebie,Rodzaj metody,
Szybka jest funkcją metody związane z pewnymi typami
W Objective-C, klasy są metody jedyny typ zdefiniowany. Ale Swift, nie tylko można wybrać, czy chcesz zdefiniować klasa / struct / enum, ale również elastyczne typu (klasa / struct / enum), które tworzą się na metodzie rozdzielczości.
W języku Swift, metody instancji należy do określonej klasy, struktury lub wyliczonych przypadkach typu.
Metoda Instance udostępnia następujące metody:
Możesz uzyskać dostęp i modyfikowanie właściwości instancji
Przykład zapewniając funkcje związane obiektowych
Przykłady metod napisać wokół niego należy między typami klamrowych ({}).
Przykłady metody niejawnej może uzyskać dostęp do wszystkich metod i właściwości innych instancji typu, do którego należy.
Przykłady metod może być wywołana tylko dana instancja klasy, do której należy.
Metoda instancji nie mogą być rozdzielone na istniejące wystąpienie jest tzw.
func funcname(Parameters) -> returntype { Statement1 Statement2 …… Statement N return parameters }
import Cocoa class Counter { var count = 0 func increment() { count++ } func incrementBy(amount: Int) { count += amount } func reset() { count = 0 } } // 初始计数值是0 let counter = Counter() // 计数值现在是1 counter.increment() // 计数值现在是6 counter.incrementBy(5) print(counter.count) // 计数值现在是0 counter.reset() print(counter.count)
Wyjście powyżej wykonywanie programu jest:
6 0
Klasa Counter definiuje trzy metody instancji:
increment
, tak że licznik jest zwiększany o jeden; incrementBy(amount: Int)
, aby licznik o określoną wartość całkowitą jest zwiększany; reset
licznik jest resetowany do 0. Counter
tej klasy deklaruje również zmienną atrybutu count
, użyj go, aby śledzić aktualną wartością licznika.
Parametry funkcji Swift mogą mieć zarówno lokalną nazwę (w ciele funkcji używanych wewnętrznie) oraz nazwę zewnętrznej (używany podczas wywoływania funkcji
Swift sposoby i metody Objective-C bardzo podobne. Jak w celu C, tak jak nazwę Swift w sposobie zwykle punktowy przyimek pierwszego sposobu parametrów, na przykład: z, na, o, i tak dalej.
Swift domyślny jedynie metody pierwszego parametru nazwa lokalna nazwa parametru; domyślnym równocześnie do drugiego i kolejnego globalnego Nazwa Nazwa parametru.
Poniższe przykłady "no1" zadeklarowana lokalnie w nazwie parametru w SWIFT. "No2" dla globalnych deklaracji i dostępne za pośrednictwem zewnętrznego programu.
import Cocoa class division { var count: Int = 0 func incrementBy(no1: Int, no2: Int) { count = no1 / no2 print(count) } } let counter = division() counter.incrementBy(1800, no2: 3) counter.incrementBy(1600, no2: 5) counter.incrementBy(11000, no2: 3)
Wyjście powyżej wykonywanie programu jest:
600 320 3666
Zmusimy pierwszy argument, aby dodać nazwę zewnętrznego nazwy miejscowej nazwie jak użytku zewnętrznego (Swift 2.0 Przed użyciem znak #).
Zamiast tego, możemy użyć także podkreślenia (_), aby ustawić drugi i kolejne argumenty nie zawierają nazwę zewnętrznego.import Cocoa class multiplication { var count: Int = 0 func incrementBy(first no1: Int, no2: Int) { count = no1 * no2 print(count) } } let counter = multiplication() counter.incrementBy(first: 800, no2: 3) counter.incrementBy(first: 100, no2: 5) counter.incrementBy(first: 15000, no2: 3)
Wyjście powyżej wykonywanie programu jest:
2400 500 45000
Każda instancja typu ma właściwość o nazwie niejawna ja, ja dokładnie tak samo jak sam instancji.
Można wykorzystać to niejawne Własna nieruchomość w instancji metody instancji odwołać bieżącą instancję.
import Cocoa class calculations { let a: Int let b: Int let res: Int init(a: Int, b: Int) { self.a = a self.b = b res = a + b print("Self 内: \(res)") } func tot(c: Int) -> Int { return res - c } func result() { print("结果为: \(tot(20))") print("结果为: \(tot(50))") } } let pri = calculations(a: 600, b: 300) let sum = calculations(a: 1200, b: 300) pri.result() sum.result()
Wyjście powyżej wykonywanie programu jest:
Self 内: 900 Self 内: 1500 结果为: 880 结果为: 850 结果为: 1480 结果为: 1450
Swift konstrukcje językowe i wyliczenia są typy wartości. Ogólnie rzecz biorąc, typ wartości obiekt nie może być zmodyfikowanym metodami np.
Ale jeśli naprawdę trzeba zmienić strukturę lub wyliczana nieruchomości w określony sposób, można wybrać wariant (mutacjom) metoda, to metoda może zmienić właściwości z metody wewnętrznych; żadnych zmian, a to robi na koniec sposobem będzie pozostawiona w pierwotnej konstrukcji.
Metoda także może dać dorozumiany cesja obiekt z własnym nową instancję tej nowej instancji jest zastąpienie oryginalnego wystąpienie metodą.
import Cocoa struct area { var length = 1 var breadth = 1 func area() -> Int { return length * breadth } mutating func scaleBy(res: Int) { length *= res breadth *= res print(length) print(breadth) } } var val = area(length: 3, breadth: 5) val.scaleBy(3) val.scaleBy(30) val.scaleBy(300)
Wyjście powyżej wykonywanie programu jest:
9 15 270 450 81000 135000
Zmienny metody można przypisać atrybuty własny oznaczał nową instancję.
import Cocoa struct area { var length = 1 var breadth = 1 func area() -> Int { return length * breadth } mutating func scaleBy(res: Int) { self.length *= res self.breadth *= res print(length) print(breadth) } } var val = area(length: 3, breadth: 5) val.scaleBy(13)
Wyjście powyżej wykonywanie programu jest:
39 65
Metoda instancji jest metoda nazywana jest instancją typu, można również określić rodzaj metody nazywa się metoda ta nazywana jest metodą typu.
Struktura komunikat i typ wyliczeniowy metoda przed metody kluczowego func z hasła statycznego. Klasa może używać klasy słów kluczowych, aby umożliwić podklasy zastąpić realizację klasy nadrzędnej.
Ten sam typ i instancji metody wykorzystujące kropki (.) Składnia do wywołania.
import Cocoa class Math { class func abs(number: Int) -> Int { if number < 0 { return (-number) } else { return number } } } struct absno { static func abs(number: Int) -> Int { if number < 0 { return (-number) } else { return number } } } let no = Math.abs(-35) let num = absno.abs(-5) print(no) print(num)
Wyjście powyżej wykonywanie programu jest:
35 5