Sobes.tech
Junior — Middle

Există posibilitatea de a implementa propria structură de coadă?

sobes.tech AI

Răspuns de la AI

Da, în iOS se poate implementa o structură proprie de coadă. De exemplu, se poate crea o clasă care stochează elemente într-un array și oferă metode pentru adăugarea (enqueue) și eliminarea (dequeue) elementelor conform principiului FIFO (primul venit, primul servit). Acest lucru poate fi util dacă clasele standard, precum DispatchQueue, nu sunt potrivite pentru anumite sarcini.

Exemplu de coadă simplă în 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