iOS 中hash的重寫

1.若兩個對象相等,則其哈希碼(hash)也相等,但是兩個哈希碼相同的對象卻未必相等。

如果重寫isEqual方法,一定要重寫hash方法。
重寫的hash方法一定要簡單,因爲如果你的對象存在字典或者集中,hash方法會頻繁的調用。
相同的對象一定要返回相同的hash值,但是有相同的hash值的對象不一定是同一個對象,這是就是產生了碰撞,但是我們要讓產生這種情況的機會儘可能的少。

hash方法也可以這樣實現:
- (NSUInteger)hash {
NSString *stringToHash = [NSString stringWithFormat:@""%@:%@,_firstName,_lastName];
return [stringToHash hash];
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章