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.