2013-02-13 64 views
0

我有一个NSMutableArray的,说我在那里有一个“日”列和包含的数据在那里的范围是0-4说,我有5行,像这样在一个NSMutableArray算多少唯一行

0 
0 
1 
2 
3 

我想指望有多少独特的项目,因此在这种情况下,它会返回4,因为它难道不指望第二0

感谢您的帮助

+0

你在数组中有一个日期列是什么意思?数组中的对象是否具有'日'属性? – lammert 2013-02-13 22:01:25

+0

定义“唯一”你可以(在理论上,虽然不是在实践中)有两个不同的NSNumber对象,其值为零。 – 2013-02-13 22:12:01

+1

'NSUInteger count = [[yourOriginalArray valueForKeyPath:@“@ distinctUnionOfObjects.day”] count];' – holex 2013-02-13 23:04:46

回答

0

它是直线前进。你想要做的是删除数组中的重复项目并获得唯一项目的数量。这可以通过使用NSSet中和的NSMutableArray来完成:

​​

希望这有助于

+0

这对我来说非常合适谢谢:) – 2013-02-13 22:20:39

1

如何[NSSet setWithArray:yourArray].count

0

如果您的数组已经排序,您可以进行一次遍历,保持一个包含'当前'值的变量和一个计数器,每当当前值与索引(然后更新“当前”值进行匹配,这会比上面的代码略多一些代码,但是如果数组足够大以至于从所有数组元素构建集合足够重要性能明智