Sobes.tech
Junior — Middle

Kuidas rakendada elementide salvestamist kogumikku, toetades nende järjekorra säilitamist?

sobes.tech AI

Vastus AI-lt

iOS (Swift) keskkonnas, et salvestada elemente kogumikku ja säilitada nende lisamise järjekord, saab kasutada andmestruktuuri, mis ühendab kogumi ja massiivi omadused. Swift'i standardraamatukogus on tüüp OrderedSet, mis on saadaval alates iOS 13 ja macOS 10.15 ning teeb just seda — salvestab unikaalsed elemendid ja säilitab nende järjekorra.

OrderedSet kasutamise näide:

import Foundation

var orderedSet = OrderedSet<String>()
orderedSet.append("apple")
orderedSet.append("banana")
orderedSet.append("apple") // ei lisata, kuna element juba olemas

print(orderedSet) // ["apple", "banana"]

Kui OrderedSet ei ole saadaval, saab sarnase käitumise rakendada kasutades massiivi järjekorra jaoks ja kogumit unikaalsuse kontrollimiseks:

var array: [String] = []
var set: Set<String> = []

func addElement(_ element: String) {
    if !set.contains(element) {
        set.insert(element)
        array.append(element)
    }
}

addElement("apple")
addElement("banana")
addElement("apple")

print(array) // ["apple", "banana"]

Sel viisil säilitate lisamise järjekorra ja elementide unikaalsuse.