Sobes.tech
Junior — Middle

Lehet-e egy getter segítségével kiszámított tulajdonságot halmazként (Set) deklarálni?

sobes.tech MI

Válasz az MI-től

Swiftben egy számított tulajdonság (computed property) nem deklarálható közvetlenül halmazként (Set), ha a Set típust értjük alatta. Azonban, ha azt szeretnéd, hogy a számított tulajdonság egy halmazt adjon vissza, akkor a típusa lehet Set, és a getter ezt a típusú értéket fogja visszaadni.

Példa:

var uniqueElements: Set<Int> {
    return Set(array)
}

Itt, a uniqueElements egy számított tulajdonság, amely az array tömbből egyedi elemek halmazát adja vissza. De maga a tulajdonság nem tárolja a halmazt, hanem minden hozzáféréskor kiszámítja.

Ha a kérdés a getter és setter (get/set) tulajdonság deklarálására vonatkozik, akkor a számított tulajdonság rendelkezhet setterrel is, ha írógomb logikát szeretnél megvalósítani, különben csak getterrel rendelkezik.