Sobes.tech
Junior — Middle

Υπάρχει η δυνατότητα υλοποίησης της δικής σας δομής ουράς;

sobes.tech AI

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

Ναι, μπορείτε να υλοποιήσετε μια δική σας δομή ουράς στο iOS. Για παράδειγμα, μπορείτε να δημιουργήσετε μια κλάση που αποθηκεύει στοιχεία σε έναν πίνακα και παρέχει μεθόδους για την προσθήκη (enqueue) και την αφαίρεση (dequeue) στοιχείων σύμφωνα με την αρχή FIFO (πρώτος εισερχόμενος, πρώτος εξερχόμενος). Αυτό μπορεί να είναι χρήσιμο αν οι προεπιλεγμένες κλάσεις, όπως το DispatchQueue, δεν είναι κατάλληλες για συγκεκριμένες εργασίες.

Παράδειγμα απλής ουράς σε Swift:

class Queue<T> {
    private var elements: [T] = []

    func enqueue(_ element: T) {
        elements.append(element)
    }

    func dequeue() -> T? {
        guard !elements.isEmpty else { return nil }
        return elements.removeFirst()
    }

    var isEmpty: Bool {
        return elements.isEmpty
    }
}

let queue = Queue<Int>()
queue.enqueue(1)
queue.enqueue(2)
print(queue.dequeue()) // 1
print(queue.dequeue()) // 2