1 崩溃报错信息
[__NSArrayI objectAtIndexedSubscript:]: index 2 beyond bounds [0 .. 1]
明显的数组越界
这里是崩溃时的调用栈,崩溃在了cellForRow方法中
情景分析:
时机是在我点击tabbar 的 me 页面 的时候,
me页面的viewWillappear 中会执行一些操作改变数据源,但是改变数据源之后没有reloadData
reloadData是在viewDidapear中执行的
但是,由于我们点击了tab, 这时候会触发me页面的tableView的 layoutSubViews 方法,
系统在调用该方法的时候,回去执行CellForRow 方法,
这时候,tableView仍然是旧数据的布局,但是数组已经是新的数组了,就导致了数据错乱而崩溃
所以,要避免这个问题,就要在改变数据源之后立即刷新
如图