我有一个NSArray的NSMutableArray。这是我目前的结构:
Paused index (
(
0,
3579
),
(
1,
3538
)
)
如何搜索数组并删除对象3538?我的预期结果是:
Paused index (
(
0,
3579
)
)
如何获取外部数组的索引?我已经可以进行搜索但是如何删除该索引中的对象?
答案 0 :(得分:1)
这是一种非常直接的方式。
NSArray *firstArray = [NSArray arrayWithObjects:[NSNumber numberWithInt:100],[NSNumber numberWithInt:1000], nil];
NSArray *secondArray = [NSArray arrayWithObjects:[NSNumber numberWithInt:100],[NSNumber numberWithInt:5000], nil];
NSMutableArray *arrayWithArray = [NSMutableArray arrayWithObjects:firstArray,secondArray,nil];
int i = 0;
for (NSArray *innerArray in arrayWithArray)
{
if ([innerArray containsObject:[NSNumber numberWithInt:5000]])
{
break;
}
i++;
}
NSLog(@"Index of object %d",i);
[arrayWithArray removeObjectAtIndex:i];
应该有其他一些聪明的方法。
编辑: 我认为这好一点。
int i = [arrayWithArray indexOfObjectPassingTest:^BOOL(id element,NSUInteger idx,BOOL *stop)
{
return [(NSArray *)element containsObject:[NSNumber numberWithInt:5000]];
}];
NSLog(@"Index of object %d",i);
if (i >= 0 && i < [arrayWithArray count])
{
[arrayWithArray removeObjectAtIndex:i];
}
答案 1 :(得分:0)
你有这个数组
Array_Paused_index (
(
0,
3579
),
(
1,
3538
)
)
再拿一个数组
Array = [Array_Paused_index objectAtIndex:0];
结果将是
阵列
(
(
0,
3579
)
)
或第二种方法:
[Array_Paused_index removeObjectAtIndex:1];