Junior — Middle
Ποια βήματα πρέπει να ακολουθηθούν για να χρησιμοποιήσετε το χαρακτηριστικό @escaping με ένα κλείσιμο στον ορισμό μιας συνάρτησης;
sobes.tech AI
Απάντηση από AI
Στη Swift, το χαρακτηριστικό @escaping χρησιμοποιείται για κλεισίματα (closures) που αποθηκεύονται και καλούνται μετά την ολοκλήρωση της συνάρτησης στην οποία περνάνε. Για να χρησιμοποιήσετε το @escaping, πρέπει:
- Στην δήλωση της συνάρτησης, πριν από την παράμετρο του κλεισίματος, να δηλώσετε
@escaping. - Αυτό σημαίνει ότι το κλείσιμο μπορεί να καλείται αργότερα, π.χ., ασύγχρονα.
Παράδειγμα:
func fetchData(completion: @escaping () -> Void) {
DispatchQueue.global().async {
// Εκτέλεση ασύγχρονης εργασίας
completion() // καλεί το κλείσιμο αργότερα
}
}
Χωρίς το @escaping, ο μεταγλωττιστής δεν θα επιτρέψει την αποθήκευση του κλεισίματος για να καλείται μετά την έξοδο από τη συνάρτηση.