Sobes.tech
Junior — Middle

Ar yra galimybė įgyvendinti savo eilės struktūrą?

sobes.tech AI

Atsakymas iš AI

Taip, iOS galima įgyvendinti savo eilės struktūrą. Pavyzdžiui, galima sukurti klasę, kuri saugo elementus masyve ir teikia metodus pridėti (enqueue) ir pašalinti (dequeue) elementus pagal FIFO (pirmas atėjęs - pirmas išeinantis) principą. Tai gali būti naudinga, jei standartinės klasės, tokios kaip DispatchQueue, netinka konkretiems užduotims.

Pavyzdys paprastos eilės Swift kalba:

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