我不明白为什么不能向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一起使用,则可以正常工作,我已经阅读了NSNull文档(虽然确实很短,但没有帮助),但它说:
"The NSNull class defines a singleton object used to represent null values in collection objects"
和NSMutableOrderedSet文档,它说这是一个
"[...] ordered collection of distinct objects"
因此,如果是收藏集,为什么不起作用?
非常感谢你
最佳答案
[NSNull null]
始终返回相同的对象(NSNull
的单例实例)。
NSObject *a = [NSNull null];
NSObject *b = [NSNull null];
// a == b
NSMutableSet
和NSMutableOrderedSet
是不同对象的集合,因此它们最多可以包含此“空对象”的一个实例。
关于iphone - NSMutableOrderedSet和NSNull行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13481497/