Junior
Ko nozīmē, ja mainīgajam tiek iestatīts setter?
sobes.tech AI
Atbilde no AI
Setteris (setter) — tas ir metode, kas ļauj kontrolēt jaunas vērtības ierakstīšanu mainīgajā. Iestatot setteri, standarta vērtības piešķiršanas mehānisms tiek aizstāts ar kodu setterī. Tas dod iespēju:
- Validēt ievades datus: Pārbaudīt, vai jauna vērtība atbilst noteiktajiem nosacījumiem, pirms to piešķirt mainīgajam.
var age: Int = 0 { didSet { // Setteris (didSet) tiek izsaukts pēc vērtības iestatīšanas if age < 0 { age = 0 // Neļaut piešķirt negatīvu vērtību } } } - Veikt papildu darbības: Izsaukt citu kodu, mainot mainīgā vērtību, piemēram, atjaunināt lietotāja saskarni vai paziņot citām programmas daļām.
var score: Int = 0 { didSet { // Setteris (didSet) print("Score updated to \(score)") // Pārrakstīt izmaiņas updateUI() // Atjaunināt UI } } func updateUI() { // Kods saskarnes atjaunināšanai } - Aprēķināt citu īpašību vērtības: Vienas īpašības izmaiņas var ietekmēt citas vērtību.
var radius: Double = 0.0 { didSet { // Setteris (didSet) area = Double.pi * radius * radius // Pārskatīt laukumu, mainoties rādiusam } } var area: Double = 0.0 // Īpašība, kas ir atkarīga no radius
Swift valodā setterus var izmantot gan saglabātajām (stored properties), gan aprēķināmajām īpašībām (computed properties). Saglabātajām īpašībām bieži izmanto īpašību novērotājus (willSet un didSet), kas tiek izsaukti pirms un pēc jaunas vērtības iestatīšanas. Aprēķināmajām īpašībām setteris (set) nosaka, kā jābūt piešķirtai vērtībai.
var myProperty: String {
// Gētters
get {
return "Value is: \(internalValue)"
}
// Setteris
set(newValue) {
internalValue = newValue + " processed" // Modificēt piešķiramo vērtību
}
}
privāta īpašība: String = "" // Iekšējā saglabātā īpašība