关于NSMutableOrderedSet的问题

我的问题是不能给NSMutableOrderedSet添加NSNull null

NSMutableOrderedSet *set = [[NSMutableOrderedSet alloc]init];
for(int i = 0; i < 10; i++)
    {
        [set addObject: [NSNull null]];
    }

NSLog("SET COUNT : %d", set.count);

输出这个:

SET COUNT : 1

如果换成NSMutableArray的话,就可以用,不知道为什么会出现这样的问题?

thanks

NSOrderedSet和它的子类NSMutableOrderedSet不能包含多条相同的对象。NSNull是单例模式,因此添加它设置多次也只能得到单次复制。
你可以用NSCountedSet来实现:

NSCountedSet set = [NSCountedSet set];
for(int i = 0; i < 10; i++)
{
    [set addObject: [NSNull null]];
}
NSLog(@"%ud", [set countForObject:[NSNull null]]);