2 qq 32378247 qq_32378247 于 2016.01.23 14:50 提问

关于ios开发 tableview问题
ios

ios tableview

  • (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
    return self.message.count; //程序崩溃。message是通过懒加载的数组
    // exc_bad_accesscodeexc_i386_gpflt }

怎么解决这个问题

4个回答

oyljerry
oyljerry   Ds   Rxr 2016.01.23 15:00

起码要判断一下message是否为nil。否则会crash

baidu_33830449
baidu_33830449   2016.01.23 15:12

楼上说得对,你少了个message

leilba
leilba   Rxr 2016.01.25 11:18

要先判断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了

Margaret_MO
Margaret_MO   2016.03.03 14:57

你的问题应该不是出在这个数组上,我也像你这么写了,写了懒加载,并没有报错。
你好好看看你的报错信息吧,应该不是里的问题。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!