Sobes.tech
Junior — Middle

Czy istnieje możliwość zaimplementowania własnej struktury kolejki?

sobes.tech AI

Odpowiedź od AI

Tak, na iOS można zaimplementować własną strukturę kolejki. Na przykład można utworzyć klasę, która przechowuje elementy w tablicy i udostępnia metody do dodawania (enqueue) i usuwania (dequeue) elementów według zasady FIFO (pierwszy wszedł, pierwszy wyszedł). Może to być przydatne, jeśli standardowe klasy, takie jak DispatchQueue, nie są odpowiednie do konkretnych zadań.

Przykład prostej kolejki w 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