Sobes.tech
Junior — Middle

Jakimi rodzajami mogą być przedstawione elementy w zbiorze?

sobes.tech AI

Odpowiedź od AI

W iOS elementy zbioru (np. w NSSet lub Set w Swift) mogą być dowolnego typu, który spełnia protokół Hashable. Oznacza to, że elementy muszą mieć unikalny hash i być porównywalne pod względem równości.

Typy elementów mogą być:

  • Proste typy: Int, String, Double itp.
  • Struktury i klasy niestandardowe implementujące protokół Hashable.

Na przykład w Swift:

let numbers: Set<Int> = [1, 2, 3]
let names: Set<String> = ["Anna", "Boris", "Viktor"]

struct Person: Hashable {
    let id: Int
    let name: String
}

let people: Set<Person> = [Person(id: 1, name: "Ivan"), Person(id: 2, name: "Maria")]

W ten sposób zbiór zawiera unikalne elementy, które mogą być dowolnego typu obsługującego haszowanie i porównanie.