返回json数据的问题
在使用AFnetworking这个库做网络请求的条件下,在服务器返回json数据时,有时会出现“somevalue”:null,解析后变成somevalue=”
如果直接向这个对象发消息会直接崩溃,因此可以用以下的代码去掉这个讨厌的空值,将所有NSNull的值变成nil,这样就可以安心往下走了哈哈。
|
|
请求超时的问题
|
|
AFnetworking的默认请求时间好像是30s还是60s,太长了,而且好像也不太管用,对于这个getjson,不管30秒还是60都太长不需要这么久,我反正受不了,要等太久。当服务器故障,或者瞬间网络问题导致api访问有问题等等,APP会出现一直在长时间loading的情况,这个时候就需要我们来改一改了,通过以上代码设置超时,请求超时时间为5s,可以有效的返回情况,进行解决或再次访问。
懒加载
|
|
所谓的懒加载可以定义为:延时加载,即当对象需要用到的时候再去加载。
优点就是可以简化代码,不必将创建对象的代码全部写在viewdidload上,增强代码可读性,对系统的内存占用率会减小,而且对象的实例化在getter方法中,各司其职,降低耦合性。
没用懒加载时,需要写在viewDidLoad方法中获取,如下图所示,显而易见,当返回的msg=ok时,就直接加载当前的_datas,采用上述方法后,只会在用到时才会去加载对象,大大减小内存占用,反正就是很好就是了,实在是编不下去了。
_datas和.datas
|
|
用_datas的话不调用懒加载方法,会一直nil,对了有一点需要注意,这里用的是self.datas调用其get方法,在写懒加载时,不能用.datas判断是否为空,否则会陷入死循环。
总结
以上就是关于对getjson的思考及解答,另外在这次学习中用到了afnetworking和mbprogresshud第三方库,(mbprogresshud就是转菊花进度条等等),而且又学会了用hexo和github搭建自己个人的博客,一路艰辛(鲜花掌声),慢慢的做好自己的事情,编不下去了就这样了。