获取 - [__ NSArrayI addObjectsFromArray:]:无法识别的选择器发送到实例0xa0c5f70错误

时间:2013-04-23 07:09:00

标签: iphone ios nsmutablearray

我在数组中添加对象时出错 - [__ NSArrayI addObjectsFromArray:]:无法识别的选择器发送到实例0xa0c5f70

id max;
   NSMutableArray * MovePointsArray=[[NSMutableArray alloc]init];
    max=[pointsArray objectAtIndex:0];
    for(int i=0;i<[pointsArray count];i++){

        if ([pointsArray objectAtIndex:i] > max) {
            max=[pointsArray objectAtIndex:i];
            [MovePointsArray addObject:max];
        }

    }

   NSMutableArray * pointArray =[NSArray arrayWithObjects: [pointsArray objectAtIndex:0],[pointsArray lastObject], nil];
    [pointArray addObjectsFromArray:MovePointsArray];

没有得到我的错误。

5 个答案:

答案 0 :(得分:5)

在最后一行

NSMutableArray * pointArray =[NSArray arrayWithObjects: [pointsArray objectAtIndex:0],[pointsArray lastObject], nil];

NSArray替换为NSMutableArray

谢谢,

答案 1 :(得分:3)

更正代码

NSMutableArray * pointArray =[[NSMutableArray alloc] initWithObjects: [pointsArray objectAtIndex:0],[pointsArray lastObject], nil];
[pointArray addObjectsFromArray:MovePointsArray];

您正在使用pointArray初始化NSArray,并且NSArray在您的下一行addObjectsFromArray中没有使用NSMutableArray方法的方法。

答案 2 :(得分:2)

您可以在此处找到错误:

NSMutableArray * pointArray =[NSArray arrayWithObjects: [pointsArray objectAtIndex:0],[pointsArray lastObject], nil];

NSArray替换为NSMutableArray

答案 3 :(得分:1)

在最后一行中,pointArray实际上是一个NSArray对象,而不是NSMutableArray。

NSMutableArray * pointArray =[NSArray arrayWithObjects: [pointsArray objectAtIndex:0],[pointsArray lastObject], nil];
[pointArray addObjectsFromArray:MovePointsArray];

最后添加mutableCopy或类似的东西。

答案 4 :(得分:1)

NSMutableArray * pointArray =[NSArray arrayWithObjects: [pointsArray objectAtIndex:0],[pointsArray lastObject], nil];

更改为

NSMutableArray * pointArray =[NSMutableArray arrayWithObjects:@[pointsArray[0],[pointsArray lastObject]];