这是我的代码
int indiceCorrente = 0; int differenza = delegate.reader.feedItems.count;
while(variable!=0){
switch(variable){
case 1: ----
case 2: ----
default: {
NSMutableIndexSet *add=[[[NSMutableIndexSet alloc]init] autorelease];
[add addIndex:indiceCorrente];
[add addIndex:indiceCorrente+1];
[add addIndex:indiceCorrente+2];
[self aggiungiElementoArrayLettura:add];
//[page addObject:@"makeLayout3"];
NSMutableArray *pagina=[[NSMutableArray alloc]init];
indiceCorrente=indiceCorrente+1;
[pagina addObject:indiceCorrente]; <------ EXC_BAD_ACCESS WHY????
indiceCorrente=indiceCorrente+1;
[pagina addObject:indiceCorrente];
indiceCorrente=indiceCorrente+1;
[pagina addObject:indiceCorrente];
[pages addObject:pagina];
}
}
}
答案 0 :(得分:2)
您无法将基本类型(int,float,double ...)添加到Foundation集合类中。您只能添加对象。当你尝试添加一个int时,它被强制转换为指针(id),并且数组正试图保留它。尝试将您的整数包装在NSNumber中。那看起来像是
[pagina addObject:@(indiceCorrente)];
或
[pagina addObject:[NSNumber numberWithInt:indiceCorrente]];