从NSMutableArray中取出对象
问题描述:
我有一个数组,其中包含的对象可能相同,有些则不同。
如何分别取出每个相同的物体和不同的物体?从NSMutableArray中取出对象
下面是阵列
NSMutableArray *items = [[NSMutableArray alloc]
initWithArray:[NSArray arrayWithObjects:@"rat", @"rat", @"cat",@"Lion", @"cat", @"dog", @"dog", nil]];
我想有四个数组这将包含以下项目:
- 第一阵列有两个老鼠
- 第二阵列两只猫
- 3用一只狮子排列
- 第四排有两只狗
什么可能是最好的方法把对象?相同的对象应放置在相同的数组中。
答
这里有一个笼统的回答:
把阵列到NSCountedSet - 将存储每个对象和它已被添加的次数的计数。
然后 - 对于此计数集中的每个对象,根据每个对象的计数重复创建一个数组。
它会在你的情况下工作,因为你正在使用静态字符串,如果它们是相同的字符串,它们将会是相同的。如果您使用自定义对象,这将需要更多的工作。
但是我们要问的真正问题是为什么您需要创建这些重复结构。如果我们能够知道你在做什么,我们可以给你更好的建议,告诉你如何去做。例如,如果你只需要保持每种类型对象的数量,你就可以直接使用NSCountedSet(它从NSMutableSet中下降,所以它已经是可变的),而不用费心去创建数组。
我有一个包含多行的数据库。每行包含部分标题列。有些行具有相同的部分标题值,有些具有不同的值。要将这些数据加载到表格视图中,我需要基于章节的数据。任何好的建议我如何检索这些数据。我正在使用核心数据。 – ashish 2011-12-29 15:10:08
在这种情况下,您可能最好使用NSFetchedResultsController。 – Abizern 2011-12-29 15:17:14
谢谢Abizem。如果我需要使用NSCountedSet作为数组中的自定义对象。这个方法会是什么? – ashish 2011-12-30 11:49:11