iOS学习笔记iOS DeveloperIOS

iOS APP 几种常见特殊(异常\错误)情景的处理

2017-01-08  本文已影响4177人  罗同学_

本文将通过举例和分析来讨论以下三个方面的内容

1.网络异常相关

微信(1) 微信(2)

分析:

1.微信的处理比较简单,主要界面有比较醒目的提示
2.还有就是有做缓存处理,之前以为微信之所以很大以至于大到一两个G是由于为了时间网络相关的缓存,后来被提示指正了,其实微信为了数据的安全把所有的聊天数据都放在了本地而不是服务器,所以微信的缓存很大一部分是为了解决这个问题而不是无网络的缓存;
3.提供了一写操作提示,比如图二的提示(腾讯系的APP好像都做了这样的处理)

淘宝(1) 淘宝(2) 淘宝(3)
分析:

1.淘宝每个tabBar主界面都做了缓存处理
2.对一些子页面做了UI的处理,定制了相应的无网络的UI操作和提示

AppStore(1) AppStore(2)
分析:

1.提供了alert提醒
2.定制了相应的无网络的UI
3.没有做任何缓存,所以出现网络相关的问题以后页面除了有相应的UI提醒以外不会有任何其他内容

京东(1) 京东(2) 京东(3) 京东(4)
分析:

1.部分页面做了数据的缓存(首页)
2.定制了相应的无网络的UI
3.界面添加了醒目的提示,进入子页面后提供了相关的操作提示(类似微信)

简书(1) 简书(2) 简书(3)
分析:

1.处理相对来说比较简单,网络异常的情况下进入主要界面都会提供相应的hud提醒
2.没有做任何缓存(文章发布的时候简书已经改版)

网络相关的总结:

1.部分主要界面做了数据的缓存

2.会提供相应的提示(alert,hud,自定义的UI等)

3.定制了无网络相关的UI界面

2.无数据相关的处理

AppStore 唯品会 微信 某宝 京东
分析:

定制了相应的无数据的UI(背景图片/title/操作按钮)

网络相关的总结:

大厂们的处理都差不多,基本上都定制了相应的UI

3.未登陆的处理

唯品会 京东 饿了么
分析:

1.需要用户信息的界面都会有相应的未登陆的UI提示(提醒登陆),页面还是展示的
2.需要用户信息的子页面还是会直接跳到登陆页面

淘宝
分析:

需要用户信息相关的界面未登陆状态会直接跳到登陆页面

未登陆相关的总结:

处理方式大概分为两种:
1.直接跳到登陆页面
2.有定制相关的未登录状态的UI界面

总结:

由于公司项目是属于电商类所以所举的例子大都是相关的应用,实际情况大家可以结合自己的APP选择相应或者其他的处理方案

上一篇 下一篇

猜你喜欢

热点阅读