Sobes.tech
Junior — Middle

Има ли възможност да реализирате собствена структура на опашката?

sobes.tech AI

Отговор от AI

Да, в iOS можете да реализирате собствена структура на опашка. Например, можете да създадете клас, който съхранява елементи в масив и предоставя методи за добавяне (enqueue) и премахване (dequeue) на елементи по принципа FIFO (първи влязъл - първи излязъл). Това може да бъде полезно, ако стандартните класове като DispatchQueue не са подходящи за конкретни задачи.

Пример за проста опашка на 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