Właściwości i subscripty
Używajcie leniwie przechowywanych właściwości, obliczanych właściwości get/set, obserwatorów właściwości i subscriptów do niestandardowego indeksowania.
Właściwości i subscripty to bezpłatna lekcja Swift Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Swift Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Swift Academy zawiera 4 lekcji w sumie.
Wprowadzenie
Ta lekcja omawia zaawansowane właściwości: lazy, właściwości obliczane z get/set, obserwatory oraz niestandardowe indeksy dolne.
Właściwość lazy
Właściwości lazy są tworzone dopiero przy pierwszym dostępie. Są przydatne w przypadku kosztownych operacji.
struct DataLoader {
lazy var data: [Int] = {
print("Loading...")
return [1,2,3]
}()
}
var loader = DataLoader()
print("before access")
print(loader.data)Obliczane get/set
Właściwości obliczane używają bloków get/set do obliczania lub aktualizowania wartości.
struct Circle {
var radius: Double
var diameter: Double {
get { return radius * 2 }
set { radius = newValue / 2 }
}
}
var c = Circle(radius: 5)
print(c.diameter) // 10
c.diameter = 20
print(c.radius) // 10Obserwatory
Proszę używać willSet i didSet, aby reagować na zmiany właściwości.
class Account {
var balance: Double = 0 {
willSet { print("Will set to", newValue) }
didSet { print("Did set from", oldValue) }
}
}
var a = Account()
a.balance = 50Indeks dolny
Indeksy dolne pozwalają definiować niestandardowy dostęp za pomocą składni nawiasów kwadratowych.
struct TimesTable {
let multiplier: Int
subscript(i: Int) -> Int {
return multiplier * i
}
}
let three = TimesTable(multiplier: 3)
print(three[4]) // 12Indeks dolny z wieloma parametrami
Indeksy dolne mogą przyjmować wiele parametrów, na przykład indeks wiersza i kolumny macierzy.
struct Matrix {
var grid: [[Int]]
subscript(row: Int, col: Int) -> Int {
return grid[row][col]
}
}
let m = Matrix(grid:[[1,2],[3,4]])
print(m[1,0]) // 3Pytanie o lazy
Szybkie sprawdzenie: Co robi słowo kluczowe lazy?
Podsumowanie
Podsumowanie: Proszę używać lazy do odroczonej inicjalizacji, get/set dla właściwości obliczanych, willSet/didSet do obserwowania zmian, a indeksów dolnych do definiowania niestandardowego dostępu.
Często zadawane pytania
Czy lekcja „Właściwości i subscripty” jest bezpłatna?
Tak — pełny tekst „Właściwości i subscripty” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Swift Academy, przejdź na CoddyKit PRO. Kurs Swift Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Właściwości i subscripty”?
Używajcie leniwie przechowywanych właściwości, obliczanych właściwości get/set, obserwatorów właściwości i subscriptów do niestandardowego indeksowania. Ćwiczysz Swift Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Swift Academy?
Nie wymagamy żadnego doświadczenia. Swift Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.
Ile czasu zajmuje lekcja „Właściwości i subscripty”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Swift Academy?
Tak. Każda lekcja Swift Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Właściwości i subscripty
- lazy i obserwatory właściwości
- Właściwości obliczane z get/set
- Subscripty do niestandardowego indeksowania