我正在尝试从我的数组中删除一些东西,但我得到了异常
无法识别的选择器 在删除
我的代码:
NSMutableArray* tempNewsArray = [[NSMutableArray alloc]init];
tempNewsArray = [[defaults objectForKey:@"NewsArray"]mutableCopy];
for(int i = 0;i< [tempNewsArray count]-1;i++)
{
if( (monthIntofNew - month <= 10 && monthIntofNew - month !=0) || ( monthIntofNew - month <= -2))
{
[tempNewsArray delete:[tempNewsArray objectAtIndex:i]];//exception occurs here.
//deleted
}
}
我想我错过了什么,请帮忙吗?
答案 0 :(得分:5)
请试试这个,
int indexNum=-1;
NSMutableArray* tempNewsArray = [[NSMutableArray alloc]init];
tempNewsArray = [[defaults objectForKey:@"NewsArray"]mutableCopy];
for(int i = 0;i< [tempNewsArray count]-1;i++)
{
if( (monthIntofNew - month <= 10 && monthIntofNew - month !=0) || ( monthIntofNew - month <= -2))
{
indexNum=i;
//[tempNewsArray delete:[tempNewsArray objectAtIndex:i]];//exception occurs here.
//deleted
}
}
if(indexNum!=-1)
{
[tempNewsArray removeObjectAtIndex:indexNum];
}
希望这会对你有所帮助。
答案 1 :(得分:4)
delete:
的方法名称不是NSMutableArray
,您可能希望使用removeObject:
或removeObjectAtIndex:
。
还有其他几个版本的删除:
答案 2 :(得分:0)
我看到异常的两个可能原因(请发布异常):