我在数组中添加对象时出错 - [__ 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];
没有得到我的错误。
答案 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]];