• Geek_baozi
    2019-09-14
    老师好,请问一下处理已读状态那块为什么不在willLoadView或者别的地方刷新一下页面呢reloadData?从详情页面返回就可以变灰了吧

    作者回复: 是的,只要有刷新的操作就可以。首先刷新的时机有几个,比如点击之后,或者重新在屏幕展示时,这两个区别也比较明显,能直观的观察到不同。当然在刷新的时候也要尽量避免使用reloadData,而使用reload相应的indexpath,以此提高性能,并且减少一些由于cell重用带来的UI bug风险

    
     2
  • Mason
    2019-09-25
    老师你好,我跟着敲的代码运行出现了两个BUG找了好久实在不知道是什么原因,导致我没法继续了,请帮我看下代码https://github.com/Fresh-C/sampAPP
    (1)运行后第一屏的cell空白,非要滑动列表才能显示,但点击能进入详情页
    (2)不能有数据存储,如果有就会连自定义的cell都不会展示
    (请帮忙修改后加上注释把道理告诉我下,可压缩发我邮箱:caotingnian@163.com)
    谢谢!

    作者回复: 两个都是时序的问题哈
    第一个问题:cell.news = model;这句代码应该在if (!cell)这个判断之后,因为初始化的时候没有cell,只有初始化alloc之后才会有cell,之后的布局才是有效的。对应的滚动之后能出现,因为使用的是重用的cell,所以这句代码可以被有效的执行。

    第二个问题,同样是时序的问题 [self.listload addObserver:self forKeyPath:@"dataSource" options:NSKeyValueObservingOptionNew context:nil];这句话应该在 [self.listload loadListData];之前,因为有缓存的时候调用loadListData之后dataSource就已经赋值,之后添加addObserver是无效的,第一次有效是因为异步的有网络请求,所以真正赋值dataSource的时候addObserver已经执行。

     1
     1
我们在线,来聊聊吧