Junior — Middle
Obyektin Set kolleksiyasına düzgün əlavə olunması üçün əsas meyarlar hansılardır?
sobes.tech Süni İntellekt
AI-dan cavab
Düzgün şəkildə bir obyekti Set kolleksiyasına (məsələn, iOS-də NSSet) əlavə etmək üçün:
-
-hashvə-isEqual:metodlarını düzgün və ardıcıl şəkildə tətbiq etməlisiniz.-hasheyni olan obyektlər üçün eyni dəyər qaytarmalıdır.-isEqual:obyektlərin bərabərliyini dəqiq müəyyən etməlidir.
-
Obyekt, Set-də olduğu müddətdə, hash hesablaması və müqayisədə iştirak edən sahələrdə dəyişməz olmalıdır. Əks halda, kolleksiyanın bütövlüyü pozular.
Məsələn, NSSet-də saxlamaq üçün öz sinfinizi yaradırsınızsa, bu metodları yenidən yazı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 obyektlərin unikalığını düzgün müəyyən etməsini təmin edir.