Sobes.tech
Junior — Middle

Lehetőség van saját sorstruktúra megvalósítására?

sobes.tech MI

Válasz az MI-től

Igen, az iOS-en saját sorstruktúrát lehet megvalósítani. Például létrehozhat egy osztályt, amely elemeket tárol egy tömbben, és metódusokat biztosít az elemek hozzáadására (enqueue) és eltávolítására (dequeue) a FIFO (elsőként érkezett, elsőként kiszállított) elv szerint. Ez hasznos lehet, ha a standard osztályok, mint például a DispatchQueue, nem alkalmasak bizonyos feladatokra.

Egyszerű sor példája Swift-ben:

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