Sobes.tech
Junior — Middle

Ποια βήματα πρέπει να ακολουθηθούν για να χρησιμοποιήσετε το χαρακτηριστικό @escaping με ένα κλείσιμο στον ορισμό μιας συνάρτησης;

sobes.tech AI

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

Στη Swift, το χαρακτηριστικό @escaping χρησιμοποιείται για κλεισίματα (closures) που αποθηκεύονται και καλούνται μετά την ολοκλήρωση της συνάρτησης στην οποία περνάνε. Για να χρησιμοποιήσετε το @escaping, πρέπει:

  1. Στην δήλωση της συνάρτησης, πριν από την παράμετρο του κλεισίματος, να δηλώσετε @escaping.
  2. Αυτό σημαίνει ότι το κλείσιμο μπορεί να καλείται αργότερα, π.χ., ασύγχρονα.

Παράδειγμα:

func fetchData(completion: @escaping () -> Void) {
    DispatchQueue.global().async {
        // Εκτέλεση ασύγχρονης εργασίας
        completion() // καλεί το κλείσιμο αργότερα
    }
}

Χωρίς το @escaping, ο μεταγλωττιστής δεν θα επιτρέψει την αποθήκευση του κλεισίματος για να καλείται μετά την έξοδο από τη συνάρτηση.