удалить объект из NSMutableArray, который содержит NSArray - PullRequest
1 голос
/ 30 марта 2012

У меня есть NSMutableArray из NSArray внутри него. Это моя текущая структура:

    Paused index (
       (
          0,
          3579
       ),
       (
          1,
          3538
       )
    )

как искать в массиве и удалять объект 3538? Мой ожидаемый результат:

    Paused index (
       (
          0,
          3579
       )
    )

Как я могу получить индекс внешнего массива? Я уже могу выполнить поиск, но как я могу удалить объект в этом индексе?

Ответы [ 2 ]

1 голос
/ 30 марта 2012

Это очень прямой путь.

    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];

Должен быть какой-то другой разумный путь.

EDIT: Я думаю, что это немного лучше.

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];
    }
0 голосов
/ 30 марта 2012

Поскольку у вас есть этот массив

Array_Paused_index (

   (
      0,
      3579
   ),
   (
      1,
      3538
   )

)

Возьмите еще один массив

Array = [Array_Paused_index objectAtIndex: 0];

Результат будет

Массив

(

 (

   0,

   3579

 )

)

ИЛИ ВТОРОЙ МЕТОД:

[Array_Paused_index removeObjectAtIndex: 1];

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...