Sobes.tech
Junior — Middle

Πώς στέλνεις δέκα δικτυακά αιτήματα ταυτόχρονα χρησιμοποιώντας GCD;

sobes.tech AI

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

Για την αποστολή δέκα ταυτόχρονων αιτημάτων δικτύου χρησιμοποιώντας το GCD (Grand Central Dispatch) στο iOS, μπορείτε να δημιουργήσετε μια ομάδα εργασιών DispatchGroup και να προσθέσετε σε αυτήν ασύγχρονα αιτήματα. Αυτό θα επιτρέψει την εκκίνηση όλων των αιτημάτων παράλληλα και την παρακολούθηση της ολοκλήρωσής τους.

Παράδειγμα σε Swift:

let dispatchGroup = DispatchGroup()

for i in 1...10 {
    dispatchGroup.enter()
    let url = URL(string: "https://example.com/request\(i)")!
    let task = URLSession.shared.dataTask(with: url) { data, response, error in
        // Επεξεργασία απάντησης
        print("Αίτημα \(i) ολοκληρώθηκε")
        dispatchGroup.leave()
    }
    task.resume()
}

dispatchGroup.notify(queue: .main) {
    print("Όλα τα αιτήματα ολοκληρώθηκαν")
}

Αυτή η προσέγγιση επιτρέπει την αποτελεσματική διαχείριση παράλληλων εργασιών και την εκτέλεση κώδικα μετά την ολοκλήρωση όλων των αιτημάτων.