Sobes.tech
Junior — Middle

Existuje možnosť implementovať vlastnú štruktúru fronty?

sobes.tech AI

Odpoveď od AI

Áno, na iOS je možné implementovať vlastnú štruktúru fronty. Napríklad môžete vytvoriť triedu, ktorá bude ukladať prvky v poli a poskytovať metódy na pridanie (enqueue) a odstránenie (dequeue) prvkov podľa princípu FIFO (prvý prišiel, prvý vyšiel). To môže byť užitočné, ak štandardné triedy, ako DispatchQueue, nie sú vhodné pre konkrétne úlohy.

Príklad jednoduchej 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