iOS下的智能硬件开发遇到的问题总结
2016-07-29 17:15
330 查看
这一两年做智能硬件项目遇到了很多问题,主要有以下三点:
1、数据实时性要求比较高,需要实时获取设备的状态并加载。
2、相比于一些数据浏览的项目数据处理比较复杂,页面功能依赖于设备类型,导致VC与数据处理逻辑严重耦合。
3、需要接入多种模块,页面相似,控制协议不一致,会被打包成不同的iPA。
解决方案
1、使用单例模式,后台开启线程收取设备状态数据,一旦收到设备状态数据,改变单例中的设备属性,通知View刷新页面,由view判断是否刷新页面。
2、目前App采用了MVVM模式,即多加了一层viewmodel层,把数据转为适合view的格式,再进行加载,把数据处理和view层完全分开来了,减少后期更换芯片和协议的工作量。目前已经在多套项目下做过验证,数据处理与view已经基本解耦。这点会详细讲到。
3、采用多target的引用不同文件的方式来解决,这就需要view与数据处理完全解耦,以及完全的面向对象开发。
1、数据实时性要求比较高,需要实时获取设备的状态并加载。
2、相比于一些数据浏览的项目数据处理比较复杂,页面功能依赖于设备类型,导致VC与数据处理逻辑严重耦合。
3、需要接入多种模块,页面相似,控制协议不一致,会被打包成不同的iPA。
解决方案
1、使用单例模式,后台开启线程收取设备状态数据,一旦收到设备状态数据,改变单例中的设备属性,通知View刷新页面,由view判断是否刷新页面。
2、目前App采用了MVVM模式,即多加了一层viewmodel层,把数据转为适合view的格式,再进行加载,把数据处理和view层完全分开来了,减少后期更换芯片和协议的工作量。目前已经在多套项目下做过验证,数据处理与view已经基本解耦。这点会详细讲到。
3、采用多target的引用不同文件的方式来解决,这就需要view与数据处理完全解耦,以及完全的面向对象开发。
相关文章推荐
- ios开发之autolayout 第三方框架Masonry
- 一些iOS开发中一些实用的Demo分享
- iOS导航栏对view尺寸的影响
- iOS设置某个界面强制横屏,进入就横屏
- iOS 获取当前正在显示的ViewController
- iOS开发之初:自定义tabBar与tabBarController
- OC学习日记01
- iOS项目的完整重命名方法图文教程
- ios之NSUserDefault存储自定义类型的对象
- IOS线程间通信
- iOS中关于旋转屏的控制
- iOS中关于旋转屏的控制
- ios获取文件目录方法
- iOS 下ARC的内存管理机制
- ios获取当前时间年月日时分秒
- iOS设计模式-原型模式
- 浅谈 iOS 版本号
- iOS应用程序5种常见的存储方式
- iOS电池的监听
- iOS -- 上传图片到服务器