循环List移除内容---demo

 1 for (int i=0; i<[group.members count]; ++i) {
 2     EzPerson *person=[group.members objectAtIndex:i];
 3     if (person.selected&&person.recordId<0) {
 4         [db executeUpdate:@"INSERT INTO ezgroupmembers(group_id,first,last,phoneNumber,phoneLabel) values(?,?,?,?,?)",
 5          groupIdNum,person.first,person.last,person.phoneNumber,person.phoneAbLabel,nil];                
 6     }else if(!person.selected&&person.recordId>0){
 7         [group.members removeObjectAtIndex:i];  //1
 8         [db executeUpdate:@"delete from ezgroupmembers where id=?",[NSNumber numberWithInt:person.recordId]];
 9         --i;     //2
10     }
11 }

 

 

for循环从i=0开始到list总数结束

当代码执行至1,list总数改变(移除多余项),这时需要改变i的值,以便正常循环处理

不然每次循环都要少一次处理list机会

posted @ 2012-06-01 14:59  暖流  阅读(189)  评论(0编辑  收藏  举报