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.