簡體   English   中英

從包含NSArray的NSMutableArray中刪除對象

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM