如果我有两个字符串对象都具有值" hi",并且我将它们添加到NSMutableSet中,它们是否被视为不同的对象?非常感谢!
答案 0 :(得分:1)
除了@rmaddy的正确评论之外,它还存在一个根本问题:几乎不可能保证集合中的对象相等。 (很容易保证它们不相同。)这意味着当一个物体发生变化(大多数不可能检测到)时,重新检查所有物体的等值(昂贵)。这是因为NSSet
不会复制其内容对象。
我们举个例子:
NSMutableString *first = [@"Amin" mutableCopy];
NSMutableString *second = [@"Amin Negm" mutableCopy];
NSSet *set = [NSSet setWithObjects:first, second];
[first appendString:@" Negm"];
两个对象都等于,但没有删除。 (哪一个?)