问题描述
- 关于ios开发 tableview问题
-
ios tableview- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
return self.message.count; //程序崩溃。message是通过懒加载的数组
// exc_bad_accesscodeexc_i386_gpflt
}
怎么解决这个问题
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
解决方案
起码要判断一下message是否为nil。否则会crash
解决方案二:
楼上说得对,你少了个message
解决方案三:
要先判断message是否为nil,为nil的话返回0,也就是 if(message == nil)return 0;else return [self.message count];
由于网络速度一般很慢,所以第一次加载的话一般message都还没有获取到,所以执行这一步的话message一般会为nil。等到网络获取到数据之后,对message进行赋值和数据装载,再重新刷新一下,调用 [uitableview reload]。
还有一个方案是一开始就先对message进行初始化,在viewdidload的靠前的地方加入:self.message = [[UIMutableArray alloc] init]; 这样message就不会为nil了
解决方案四:
你的问题应该不是出在这个数组上,我也像你这么写了,写了懒加载,并没有报错。
你好好看看你的报错信息吧,应该不是里的问题。
时间: 2024-11-01 03:09:51