Sobes.tech
Junior — Middle

Existuje možnost implementovat vlastní strukturu fronty?

sobes.tech AI

Odpověď od AI

Ano, na iOS je možné implementovat vlastní strukturu fronty. Například můžete vytvořit třídu, která bude uchovávat prvky v poli a poskytovat metody pro přidání (enqueue) a odebrání (dequeue) prvků podle principu FIFO (první přišel, první odešel). To může být užitečné, pokud standardní třídy, jako DispatchQueue, nejsou vhodné pro konkrétní úkoly.

Příklad jednoduché fronty v 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