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:
-
-hashve-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.