Sobes.tech
Junior — Middle

Чӣ гуна муайян кардани навъи дурусти калид барои истифода дар луғат?

sobes.tech AI

Ҷавоб аз AI

В iOS (Swift), клучот за речник треба да одговара на протоколот Hashable. Ова значи дека клучот треба да може да пресмета хеш-стојност и да се спореди за еднаквост, за да може речникот ефикасно да ги чува и пребарува вредностите.

На пример, стандардните типови како String, Int, UUID веќе ја имплементираат Hashable и се погодни за користење како клучеви.

Ако создавате сопствен тип за клуч, треба да ја имплементирате протоколот Hashable:

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

var dict: [User: String] = [:]
dict[User(id: 1, name: "Alice")] = "Developer"

Значи, правилниот тип на клуч е оној што:

  • ја имплементира Hashable;
  • има уникатни вредности за клучевите, за да се избегнат судири;
  • е неизменлив (подобро е да се користат структури или неизменливи својства).