Junior — Middle
Bir bağlama sinif atributu kimi elan edilə bilərmi?
sobes.tech Süni İntellekt
AI-dan cavab
Bəli, iOS-da (Swift və ya Objective-C) sinifin atributları (xüsusiyyətləri) kimi closures (bağlamalar) elan etmək mümkündür. Bu, tez-tez callback-ləri ötürmək və ya hadisələri idarə etmək üçün istifadə olunur.
Məsələn, Swift-də:
class MyClass {
var completionHandler: (() -> Void)?
func doSomething() {
// Bir iş görürük
// ...
// Əgər təyin olunubsa, bağlamanı çağırırıq
completionHandler?()
}
}
let obj = MyClass()
obj.completionHandler = {
print("Tapşırıq tamamlandı")
}
obj.doSomething()
Bu yanaşma, sinifin davranışını xaricdən elastik şəkildə konfiqurasiya etməyə imkan verir, mantığı bağlamalar vasitəsilə ötürür.