Junior — Middle
Obyektning Set to'plamiga to'g'ri qo'shilishi uchun asosiy mezonlar qanday?
sobes.tech AI
AIdan javob
Obyektni to'g'ri tarzda Set to'plamiga (masalan, iOS'da NSSet) qo'shish uchun:
-
-hashva-isEqual:metodlarini to'g'ri va muvofiq tarzda amalga oshirish kerak.-hashteng deb hisoblangan obyektlar uchun bir xil qiymatni qaytarishi kerak.-isEqual:obyektlarning tengligini aniq belgilashi kerak.
-
Ob'ekt Set ichida bo'lsa, uning maydonlari o'zgarmas bo'lishi kerak, aks holda kolleksiyaning yaxlitligi buziladi.
Masalan, agar siz NSSetda saqlash uchun o'z sinfingizni yaratgan bo'lsangiz, bu metodlarni qayta yozing:
- (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 obyektlarning noyobligini to'g'ri aniqlashini ta'minlaydi.