当前位置:编程学习 > wap >>

IOS开发错误汇总及解决方法

我要做的是一个table有几个section,每个section都存放一个个人地址,最后一个section是添加个人地址用的,如果地址数量达到5个,则最后一个添加新地址的section不显示。
 
之前section个数是这样给的:
 
[plain]  
return [self.addsArray count]<5 ? [self.addsArray count] + 1 : [self.addsArray count];  
 
在删除的时候先删除数据源,然后做删除列表刷新界面操作,但是这样会报出如上的错误。
这个错误的意思是说:我删除之前有5个section,删除之后section数量不变(由于我需要重现添加新地址这个section就导致section数量不变)。这是矛盾的,所以xcode就给我报错了。
 
我的解决办法是:定义了一个局部变量sectionCount,未作删除操作时,它的数量就是
 
[plain] 
[self.addsArray count]<5 ? [self.addsArray count] + 1 : [self.addsArray count];  
 
 
 
在删除操作时是这样的:
[plain]  
BOOL success = [[DataCenter singleton] deleteAddressFromeDB:userAdds.user_id  
                                              withAddressId:userAdds.address_id];  
[self.addsArray removeObjectAtIndex:deleteSection];  
sectionCount = [self.addsArray count];  
[addressTable deleteSections:[NSIndexSet indexSetWithIndex:deleteSection]  
            withRowAnimation:UITableViewRowAnimationFade];  
sectionCount = sectionCount+1;  
[addressTable reloadData];  
 
即:1.先删除数据源,再做删除section操作,2.再增加一个section(添加新地址的),再刷新界面。这样就可以解决这个问题了。
 
二、EXC_BAD_ACCESS
这个问题对于初学者来说,估计够DT的。这个崩溃最大可能就是过度释放引起的,但是从打印的信息根本看不出来,这里说一个我常用的方法,如下图(xcode版本不同,位置可能不一样,我用的是4.5的版本):
-->(勾上Enable Zombie Objects)
然后再次运行,可以看到这样的打印信息:
补充:移动开发 , IOS ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,