Junior — Middle
Կարո՞ղ եք փակումը հայտարարել որպես դասի հատկություն։
sobes.tech AI
Պատասխան AI-ից
Այո, iOS-ում (Swift կամ Objective-C) կարող եք հայտարարել փակագծեր (closures) որպես դասի հատկություններ (առարկայական հատկություններ): Սա հաճախ օգտագործվում է callback-ների փոխանցման կամ իրադարձությունների կառավարման համար:
Օրինակ, Swift-ում:
class MyClass {
var completionHandler: (() -> Void)?
func doSomething() {
// Կատարել ինչ-որ աշխատանք
// ...
// Եթե սահմանված է, կանչել փակագիծը
completionHandler?()
}
}
let obj = MyClass()
obj.completionHandler = {
print("Առաջադրանքը ավարտվեց")
}
obj.doSomething()
Այս մոտեցումը թույլ է տալիս ճկուն կերպով կարգավորել դասի վարքագիծը արտաքինից, փոխանցելով տրամաբանությունը փակագծերի միջոցով: