Sobes.tech
Junior — Middle

Bir nesnenin Set koleksiyonuna doğru şekilde eklenmesi için hangi temel kriterlere uyması gerekir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Bir nesneyi Set koleksiyonuna (örneğin, iOS'taki NSSet) doğru şekilde eklemek için:

  • -hash ve -isEqual: metodlarını doğru ve tutarlı şekilde uygulamalısınız.

    • -hash, eşit kabul edilen nesneler için aynı değeri döndürmelidir.
    • -isEqual:, nesnelerin eşitliğini kesin olarak belirlemelidir.
  • Nesne, Set içinde bulunduğu sürece, hash hesaplaması ve karşılaştırmada kullanılan alanlarda değişmez olmalıdır. Aksi takdirde, koleksiyonun bütünlüğü bozulur.

Örneğin, NSSet içinde saklamak için kendi sınıfınızı oluşturuyorsanız, bu metodları geçersiz kılın:

- (NSUInteger)hash {
    return self.identifier.hash;
}

- (BOOL)isEqual:(id)object {
    if (self == object) return YES;
    if (![object isKindOfClass:[MyClass class]]) return NO;
    return [self.identifier isEqual:((MyClass *)object).identifier];
}

Bu, Set'in nesnelerin benzersizliğini doğru şekilde belirlemesini sağlar.