从Array中删除元素不起作用?

时间:2014-01-17 11:04:03

标签: ios objective-c arrays nsmutablearray

我正在尝试删除NSMutableArray中的第一个元素,而它无法正常工作

arrayforDistrits= [DistrictarrayForScroll removeObjectAtIndex:0];

此处“DistrictarrayForScroll”和“arrayforDistrits”为NSMutableArray

显示以下错误。请检查我附加的图像。

enter image description here

4 个答案:

答案 0 :(得分:5)

您的代码应该只是:

[DistrictarrayForScroll removeObjectAtIndex:0];

因为从可变数组中删除项目不会返回新数组。

如果您的目的不是编辑原始数组,而是创建一个没有项目的新数组:

arrayforDistrits = [DistrictarrayForScroll mutableCopy];
[arrayforDistrits removeObjectAtIndex:0];

答案 1 :(得分:4)

因为您要分配arrayForDistrits但removeObjectAtIndex返回void而不是任何对象。

要将对象设为0索引,您需要用户

arrayForDistrits = [yourArray ojbectAtIndex:0];

答案 2 :(得分:4)

请参阅this apple的文档

removeObjectAtIndex:的返回类型为void。因此,您无法将其分配给arrayforDistrits

答案 3 :(得分:3)

此方法返回 void

@interface NSMutableArray : NSArray

- (void)removeObjectAtIndex:(NSUInteger)index;

@end