ash*_*ish 0 cocoa objective-c nsmutablearray ios
我有一个数组,其中包含一些可能相同但有些不同的对象.
如何分别取出每个相同的对象和不同的对象?
下面是数组
NSMutableArray *items = [[NSMutableArray alloc]
initWithArray:[NSArray arrayWithObjects:@"rat", @"rat", @"cat",@"Lion", @"cat", @"dog", @"dog", nil]];
Run Code Online (Sandbox Code Playgroud)
我想要有四个包含这些项目的数组:
将物体拿出来的最佳方法是什么?相同的对象应放在同一个数组中.
这是一般答案:
将数组放入NSCountedSet中 - 它将存储每个对象以及添加它的次数.
然后 - 对于此计数集中的每个对象,创建一个数组,该对象根据每个对象的计数重复.
它将适用于您的情况,因为您使用的是静态字符串,如果它们是相同的字符串,它们将是相同的.如果您使用自定义对象,这将需要更多工作.
但我们要问的真正问题是为什么你需要创建这些重复的结构.如果我们能够知道你在做什么,我们可以为你提供更好的建议.例如,如果您只需要保持每种类型对象数量的运行计数,您可以直接使用NSCountedSet(它来自NSMutableSet,因此它已经是可变的)并且不需要创建数组.
| 归档时间: |
|
| 查看次数: |
137 次 |
| 最近记录: |