Я столкнулся с проблемой, когда я получил одно и то же значение хеш-функции для разных словарей. Может быть, я делаю что-то явно неправильное, но я думал, что объекты с разным содержимым (, также известные как неравные объекты ), должны иметь разные хеш-значения.
NSDictionary *dictA = @{ @"foo" : @YES };
NSDictionary *dictB = @{ @"foo" : @NO };
BOOL equal = [dictA hash] == [dictB hash];
NSAssert(!equal, @"Assuming, that different dictionaries have different hash values.");
есть идеи?