[英]remove object from NSMutableArray that contains NSArray
我里面有一個NSArray的NSMutableArray。 這是我當前的結構:
Paused index (
(
0,
3579
),
(
1,
3538
)
)
如何搜索數組並刪除對象3538? 我的預期結果是:
Paused index (
(
0,
3579
)
)
如何獲取外部數組的索引? 我已經可以進行搜索了,但是如何刪除該索引中的對象呢?
這是非常簡單的方法。
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];
}
當你有這個數組
Array_Paused_index(
(
0,
3579
),
(
1,
3538
)
)
再取一個數組
Array = [Array_Paused_index objectAtIndex:0];
結果將是
數組
(
(
0,
3579
)
)
或第二種方法:
[Array_Paused_index removeObjectAtIndex:1];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.