删除平面数组中的重复对象

时间:2012-12-14 07:50:55

标签: iphone ios arrays

如何删除平面数组或json数组中的重复对象

我的数组就像这样

<VideoList2: 0xac46bd0> (entity: VideoList2; id: 0xac64090 <x-coredata://7CD2EB96-C31D-4605-B7AB-13909C6B661B/VideoList2/p982> ; data: {\n Category = Featured;\n Duration = nil;\n image = \"http://files.stora.com/accounts/5053775f0f66021ac50/collection/506c59660023ae100039f/entries/50ae69c00f6602492f001b6f/fields/k509a2cbe0f6602b1/file.jpg\";\n videoLink = \"http://www.youtube.com/v/yf92pV?rel=0\";\n videoName = pamala;\n})",

请帮帮我。 感谢

2 个答案:

答案 0 :(得分:0)

您可以删除与其他数组相同的NSMutableArray对象

这是删除一个相同的对象

[yourAry removeObject:removingAry];  

并删除所有相同的ary

[yourAry removeObject:removingAry];    

有关详细信息,请阅读NSMutableArray Class Reference

答案 1 :(得分:0)

如果要从同一个数组中删除重复项:

NSMutableArray *mainArray=[[NSMutableArray alloc] initWithObjects:@"A",@"B",@"C",@"D",@"A",@"B", nil];

for (NSInteger start=[mainArray count]-1; start>=0; start--) {
    [mainArray removeObjectIdenticalTo:[mainArray objectAtIndex:start] inRange:NSMakeRange(0, start)];
}

NSLog(@"%@",mainArray);

输出:

(
    C,
    D,
    A,
    B
)

如果要删除不同数组中包含的相同对象。

NSMutableArray *mainArray=[[NSMutableArray alloc] initWithObjects:@"A",@"B",@"C",@"D", nil];
NSMutableArray *secArray=[[NSMutableArray alloc] initWithObjects:@"B",@"D", nil];

[mainArray removeObjectsInArray:secArray];

NSLog(@"%@",mainArray);

输出:

(
    A,
    C
)