Sobes.tech
Junior — Middle

C'è la possibilità di implementare una propria struttura di coda?

sobes.tech AI

Risposta dell'AI

Sì, è possibile implementare una propria struttura di coda su iOS. Ad esempio, si può creare una classe che memorizza gli elementi in un array e fornisce metodi per aggiungere (enqueue) e rimuovere (dequeue) gli elementi secondo il principio FIFO (primo entrato, primo uscito). Questo può essere utile se le classi standard, come DispatchQueue, non sono adatte a compiti specifici.

Esempio di una coda semplice in 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