VTMagic框架数据重复问题

Git地址: https://github.com/tianzhuo112/VTMagic

Git上有VTMagic的介绍及使用,这里不多说了,直接上问题

问题:项目中引进了VTMagic,实现左右滑动切换视图的功能,所有的子控制器都是相同的类。当滑动到某一个页面时,出现了数据重复的问题。

原因:没做每个页面的数据缓存。当切换页面时,要取出对应的缓存数据传给控制器,刷新界面。

缓存核心代码:

在子控制器类的viewDidDisappear中保存数据

<pre>

  • (void)viewDidDisappear:(BOOL)animated {

[super viewDidDisappear:animated];

//由于页面可能会被重用,需要取消不必要的网络请求

//[self cancelNetworkRequest];

//缓存页面数据,将数组存到内存字典中

[[NewsCacheManager sharedInstance] saveNewsInfo:newsArr channelIDKey:self.channelId];

}

</pre>

在控制器中重写setMenuInfo方法,加载对应的缓存数据,刷新界面

<pre>

  • (void)setMenuInfo:(ChannelEntity*)menuInfo

{

_menuInfo= menuInfo;

self.channelId = menuInfo.channelID;

[self loadLocalData];

}

  • (void)loadLocalData

{

//加载本地缓存数据

newsArr= [NSMutableArrayarrayWithArray:[[NewsCacheManagersharedInstance]fetchNewsInfo:self.channelId]];

if(newsArr.count>0) {

[self reloadTblData];

return;

}

}

</pre>

另外分享个找Bug的心得:当你花了1个小时关注细节而没找出原因时,不妨把查找范围扩大一些。可以查看当前类中所有的代码,可能就是其他位置的代码处理了这部分逻辑。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 178,517评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,884评论 4 61
  • 我翻越整座大山去找自己的朋友们玩,当时他们就站在碧水蓝天的石头堆上,他们一头转进绿油油的水中在自由的畅游,我知道那...
    阳光直射下的沙漠阅读 292评论 0 0

友情链接更多精彩内容