iOS里面尽量的避免两件事情的耦合性--ui刷新不应该和任何的事情耦合
2016-01-13 11:05
465 查看
面向对象就是,每个对象负责自己的事情,每件事情尽量的只做自己的事情,不要和其他的事情建立起耦合,
最简单的一个例子,点赞发送网络请求之后我们就刷新点赞人的头像这是我们的顺理成章的逻辑,这里就有两件事,发送网络请求和刷新UI界面,我们的正常的逻辑就是:点赞发送网络请求之后我们就刷新点赞人的头像这是我们的顺理成章的逻辑,然后我们就把刷新头像的动作加在了发送网络成功的回调方法里面,所以我们的刷新界面的方法是在发送网络请求成功之后才启动的,如果没有成功就会卡住——————但是我们为了使UI的刷新不受网络的影响,而且本来就应该是这样的思维,ui刷新不应该和任何的事情耦合,因为用户希望看到流畅的界面UI效果,以后以UI为主。
最简单的一个例子,点赞发送网络请求之后我们就刷新点赞人的头像这是我们的顺理成章的逻辑,这里就有两件事,发送网络请求和刷新UI界面,我们的正常的逻辑就是:点赞发送网络请求之后我们就刷新点赞人的头像这是我们的顺理成章的逻辑,然后我们就把刷新头像的动作加在了发送网络成功的回调方法里面,所以我们的刷新界面的方法是在发送网络请求成功之后才启动的,如果没有成功就会卡住——————但是我们为了使UI的刷新不受网络的影响,而且本来就应该是这样的思维,ui刷新不应该和任何的事情耦合,因为用户希望看到流畅的界面UI效果,以后以UI为主。
相关文章推荐
- UIImage和Base64格式图片相互转化!
- ios常见错误之 Failed to instantiate the default view controller for UIMainStoryboardFile 'Main' - perhaps the designated entry point is not set?
- 解决集成支付宝报一堆warning: (arm64) /Users/scmbuild/workspace/standard-pay/.....警告问题
- UiAutomator——Android自动化测试工具简要介绍
- 【java】java 设计模式(4):建造者模式(Builder)
- 【已解决】finished with non-zero exit value 2
- The default for KeyValuePair
- Handler,Message,Looper & MessageQueue
- UI组件之TextView及其子类(四)AnalogClock,DigitalClock
- Android M 权限管理拿不到OnRequestPermissionsResult的回调
- Android 讲解:UI Include
- ios UITextView 插入图片和文字自适应高度
- iOS之UIGestureRecognizer_手势识别的简单用法
- 山寨新浪微博——TabBarController
- angular 使用 ui-router(1)
- UIKIT_EXTERN NSString *const 什么时候要这样写
- UIView的四种动画(类似于下拉刷新的动画效果)
- Android 的 dex2jar 和 jd-gui 反编译 apk 源代码
- UIScrollView循环滚动
- UICollectionView