Junior
Əgər dəyişən üçün setter təyin olunursa, bu nə deməkdir?
sobes.tech Süni İntellekt
AI-dan cavab
Setter (təyin edən) yeni dəyəri dəyişənə yazmağa nəzarət etməyə imkan verən metoddur. Setter təyin edildikdə, standart dəyər təyin etmə mexanizmi, setter daxilindəki kodla əvəz olunur. Bu, aşağıdakı imkanları verir:
- Daxil olan məlumatların doğrulanması: Yeni dəyərin müəyyən şərtlərə cavab verdiyini yoxlamaq, onu dəyişənə təyin etmədən əvvəl.
var age: Int = 0 { didSet { // DidSet (dəyişdikdən sonra) setter çağırılır if age < 0 { age = 0 // Mənfi dəyərə icazə vermirik } } } - Əlavə əməliyyatların yerinə yetirilməsi: Dəyişən dəyəri dəyişdikdə başqa kodların işlədilməsi, məsələn, istifadəçi interfeysinin yenilənməsi və ya digər hissələrə bildiriş göndərilməsi.
var score: Int = 0 { didSet { // DidSet (dəyişdikdən sonra) print("Xal yeniləndi: \(score)") // Dəyişikliyi qeyd et updateUI() // UI-ni yenilə } } func updateUI() { // İnterfeysi yeniləmək üçün kod } - Digər xüsusiyyətlərin dəyərlərinin hesablanması: Bir xüsusiyyətin dəyişməsi, başqa bir xüsusiyyətin dəyərinə təsir edə bilər.
var radius: Double = 0.0 { didSet { // DidSet area = Double.pi * radius * radius // Radius dəyişdikdə sahəni yenidən hesabla } } var area: Double = 0.0 // radius-dən asılı xüsusiyyət
Swift-də setterlər, saxlanılan (stored properties) və hesablanan (computed properties) xüsusiyyətlər üçün istifadə oluna bilər. Saxlanılan xüsusiyyətlər üçün, tez-tez property observers (willSet və didSet) istifadə olunur, bunlar yeni dəyər təyin edilmədən əvvəl və sonra çağrılır. Hesablanan xüsusiyyətlər üçün isə, set setter-in necə təyin olunacağını müəyyən edir.
var myProperty: String {
// Getter
get {
return "Dəyər: \(internalValue)"
}
// Setter
set(newValue) {
internalValue = newValue + " işlənmiş" // Təyin olunan dəyəri dəyişdir
}
}
private var internalValue: String = "" // Daxili saxlanılan xüsusiyyət