Sobes.tech
Junior — Middle

Μπορείτε να δηλώσετε ένα κλείσιμο ως χαρακτηριστικό κλάσης;

sobes.tech AI

Απάντηση από AI

Ναι, στο iOS (Swift ή Objective-C) μπορούν να δηλωθούν closures ως χαρακτηριστικά (ιδιότητες) μιας κλάσης. Αυτό χρησιμοποιείται συχνά για την μετάδοση callbacks ή την διαχείριση γεγονότων.

Για παράδειγμα, σε Swift:

class MyClass {
    var completionHandler: (() -> Void)?

    func doSomething() {
        // Εκτέλεση κάποιας εργασίας
        // ...
        // Κλήση του closure αν έχει οριστεί
        completionHandler?()
    }
}

let obj = MyClass()
obj.completionHandler = {
    print("Η εργασία ολοκληρώθηκε")
}
obj.doSomething()

Αυτή η προσέγγιση επιτρέπει την ευέλικτη διαμόρφωση της συμπεριφοράς της κλάσης από έξω, περνώντας τη λογική μέσω closures.