Sobes.tech
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()

Այս մոտեցումը թույլ է տալիս ճկուն կերպով կարգավորել դասի վարքագիծը արտաքինից, փոխանցելով տրամաբանությունը փակագծերի միջոցով: