Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 从包含NSArray的NSMutableArray中删除对象_Iphone_Objective C_Ios_Nsmutablearray - Fatal编程技术网

Iphone 从包含NSArray的NSMutableArray中删除对象

Iphone 从包含NSArray的NSMutableArray中删除对象,iphone,objective-c,ios,nsmutablearray,Iphone,Objective C,Ios,Nsmutablearray,我有一个NSA阵列在里面。这是我目前的结构: Paused index ( ( 0, 3579 ), ( 1, 3538 ) ) 如何搜索阵列并移除对象3538?我的预期结果是: Paused index ( ( 0, 3579 ) ) 如何获取外部数组的索引

我有一个NSA阵列在里面。这是我目前的结构:

    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];
    }
int i=[arrayWithArray indexOfObjectPassingTest:^BOOL(id元素,整数idx,BOOL*stop)
{
return[(NSArray*)元素containsObject:[NSNumber numberwhithint:5000]];
}];
NSLog(@“对象%d的索引”,i);
如果(i>=0&&i<[arrayWithArray count])
{
[arrayWithArray removeObjectAtIndex:i];
}

这是一种非常直接的方法

    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];
    }
int i=[arrayWithArray indexOfObjectPassingTest:^BOOL(id元素,整数idx,BOOL*stop)
{
return[(NSArray*)元素containsObject:[NSNumber numberwhithint:5000]];
}];
NSLog(@“对象%d的索引”,i);
如果(i>=0&&i<[arrayWithArray count])
{
[arrayWithArray removeObjectAtIndex:i];
}

因为您有这个数组

数组\u暂停\u索引 (

)

再拿一个数组

Array=[Array_暂停_索引objectAtIndex:0]

结果将是

排列

(

)

或第二种方法:


[Array_Paused_index removeObjectAtIndex:1]

因为您有这个数组

数组\u暂停\u索引 (

)

再拿一个数组

Array=[Array_暂停_索引objectAtIndex:0]

结果将是

排列

(

)

或第二种方法:


[Array_Paused_index removeObjectAtIndex:1]

你是在问如何实施搜索吗?很抱歉,这个问题有误导性。我想删除该对象,我已经进行了搜索,现在我想删除它。[yourMutableArray removeObjectAtIndex:theIndex];你是在问如何实施搜索吗?很抱歉,这个问题有误导性。我想删除该对象,我已经进行了搜索,现在我想删除它。[yourMutableArray removeObjectAtIndex:theIndex];为什么你要同时在声明中使用for和counter i?for(;;)语句是否更适合这种情况?我不知道它在objective-C中是如何工作的,但在其他语言中这是一种不好的做法,因为for-in语句可能会检查每个元素,而在通则it?中没有顺序?。我不知道。在objective-c中,它始终遵循顺序。但无法确认。你说的有道理。非常感谢。我会记住这一点。类似的情况是当你使用goto和if操作符而不是cycle操作符时。这是可能的,但他们不建议写这样的代码。为什么你们要在语句中同时使用for和counter i?for(;;)语句是否更适合这种情况?我不知道它在objective-C中是如何工作的,但在其他语言中这是一种不好的做法,因为for-in语句可能会检查每个元素,而在通则it?中没有顺序?。我不知道。在objective-c中,它始终遵循顺序。但无法确认。你说的有道理。非常感谢。我会记住这一点。类似的情况是当你使用goto和if操作符而不是cycle操作符时。这是可能的,但他们不建议写这样的代码