作者darktt (小朱)
看板MacDev
标题Re: [问题] 有关使用NSURLSession抓Json资料的问题
时间Sun Apr 17 11:12:17 2016
你的问题是典型的“
时间竞争 (Timing Issue)”,
主要的原因是
UI 与
网路资料完成处理的时间顺序不一定,
正常的情况下是 UI 先完成再处理网路资料,
不过有可能是网路资料先完成,UI 才完成,
结果就是无法正确显示资料。
如果你真的要网路优先处理的话,
是有一个解决方法,
有几个要点:
1. 网路资料一定要保存到本地端的档案里(如 NSUserDefaults)。
2. 完成网路资料之後一定要有广播通知 UI 去取得资料(如 NSNotificationCenter)。
3. UI 在载入的过程中一定先检查本地端的档案有没有资料,才再注册广播。
这样子就算网路资料优先完成,UI 也能将资料取回来,
就不会有显示上的问题了。
--
1F:→ lwecloud: 为什麽手把是限制级!?
2F:推 kris4588: 因为会震动啊~
3F:推 awano14: 3楼神回
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.133.234.121
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/MacDev/M.1460862741.A.6E7.html
4F:推 strife00: 谢秀!我再来试试 04/17 18:44
5F:推 rollr: 有学有推 04/18 06:43
6F:→ yr: timing 不是 timeing 04/18 10:42
谢谢指正
※ 编辑: darktt (220.133.234.121), 04/18/2016 18:43:12