Junior
Co oznacza ustawienie setter dla zmiennej?
sobes.tech AI
Odpowiedź od AI
Setter (ustawiacz) to metoda, która pozwala kontrolować zapis nowej wartości do zmiennej. Przy definiowaniu settera standardowy mechanizm przypisywania wartości domyślnie jest zastępowany kodem wewnątrz settera. To umożliwia:
- Walidację danych wejściowych: Sprawdzanie, czy nowa wartość spełnia określone warunki, zanim zostanie przypisana do zmiennej.
var age: Int = 0 { didSet { // DidSet (po ustawieniu) jest wywoływany po przypisaniu if age < 0 { age = 0 // Nie pozwalamy na przypisanie wartości ujemnej } } } - Wykonywanie dodatkowych działań: Uruchamianie innego kodu przy zmianie wartości zmiennej, np. aktualizacja interfejsu użytkownika lub powiadomienia innych części aplikacji.
var score: Int = 0 { didSet { // DidSet (po ustawieniu) print("Zaktualizowano wynik do \(score)") // Logowanie zmiany updateUI() // Aktualizacja UI } } func updateUI() { // Kod do aktualizacji interfejsu } - Obliczanie wartości innych właściwości: Zmiana jednej właściwości może wpływać na wartość innej.
var radius: Double = 0.0 { didSet { // DidSet area = Double.pi * radius * radius // Przeliczenie powierzchni po zmianie promienia } } var area: Double = 0.0 // Właściwość zależna od radius
Settery w Swift mogą być używane dla właściwości przechowywanych i właściwości obliczanych. Dla właściwości przechowywanych często używa się obserwatorów właściwości (willSet i didSet), które są wywoływane przed i po ustawieniu nowej wartości. Dla właściwości obliczanych setter (set) określa, jak powinna być przypisana wartość.
var myProperty: String {
// Getter
get {
return "Wartość to: \(internalValue)"
}
// Setter
set(newValue) {
internalValue = newValue + " przetworzony" // Modyfikacja przypisywanej wartości
}
}
private var internalValue: String = "" // Wewnętrzna właściwość przechowywana