在IOS开发应用时,开始时没有登录,无法请求到数据,登录后进入界面,怎么让它重新请求数据?此时界面已经alloc过,第二次显示出来不会再 alloc,那么界面的数据请求写在哪一步事件里面比较好呢?viewWillAppear方法好像每次界面显示都是会执行的,写在这里面好吗?
南京IT培训中心的老师来解答这一问题。
解答一:写在里面也可以,不过如果你的data不是一直在改变也不必要写在那边。可以在你login完成的时候发送一个notification,在你要刷新的页面接受这个notification,然后该干嘛干嘛。
除上面两种解答外,有学员也提出了自己的疑惑:什么叫做第二次出现不会显示了?什么第二次出现?显示什么?请写清楚,请求数据的代码,可以写在登陆按钮的响应事件里面。
问题补充:左边是一个定制的LeftBar 应用启动的时候把所有界面都alloc过了,没有登录,界面是请求不到数据的,等到登录后,切换页面时,页面要重新加载数据,异步加载数据写在ViewWillAppear方法里面,应该可以实现的。
解答二:数据加载一般可以写在viewdidload 里,在取得网络数据数据成功后,将需配置的全局控件重新配置即可。viewwillAppear里面尽量不要写耗时代码,影响用户体验。
追问:请问重新配置是指setNeedsDisplay吗?
回答:那是View的方法,重新绘制View(即重写DrawRect方法)才会用到,你的目的是重新显示控件上的数据,只需要在数据得到后重新配置就是了,例如重新给label.text 赋值就是了
不知道南京IT培训中心IOS培训老师的回答是否为你解决了这个疑惑呢?还有不懂的同学欢迎参加
南京IT培训,也可以关注我们的中心网站,新鲜IT资讯唾手可得。