Sobes.tech
Junior — Middle

Bir Set türündeki koleksiyonda anahtar öğeleri olarak hangi nesne türleri kullanılabilir?

sobes.tech yapay zeka

AI'dan gelen yanıt

iOS'taki Set türündeki koleksiyonda (örneğin, NSSet veya Swift Set), anahtar öğeler aşağıdaki gereksinimleri karşılayan nesneler olabilir:

  • Objective-C'de (NSSet): nesnelerin -hash ve -isEqual: metodlarını desteklemesi gerekir, böylece doğru karşılaştırma ve karma işlemi yapılabilir.
  • Swift'te (Set): öğelerin Hashable protokolüne uygun olması gerekir, yani bir karma değeri ve eşitlik karşılaştırma yeteneğine sahip olmaları gerekir.

Bu, koleksiyonun benzersiz öğeleri verimli bir şekilde saklaması ve hızlı arama işlemleri yapabilmesi için gereklidir.

Swift'te örnek:

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

var peopleSet = Set<Person>()
peopleSet.insert(Person(id: 1, name: "Иван"))

Dolayısıyla, Hashable'ı uygulayan (Swift'te) veya hash ve isEqual: metodlarını içeren (Objective-C'de) herhangi bir nesne, Set'in bir öğesi olabilir.