IHFKit - iOS基础框架 v1.0

IHFKit是公司的基础框架,使用Framework方式供应用程序使用。其架构如图:

IHFKit - iOS基础框架 v1.0_第1张图片
IHFKit架构图.png

使用方法


1 : 导入 IHFKit#####

直接将Kit导入到你的工程中,并设置framework search path 和 user search path .

2 : 移除项目中IHFKit带有的第三方框架#####

IHFKit中目前用到AFNetworking ,FMDB和Masonry,如图所示:

IHFKit - iOS基础框架 v1.0_第2张图片
IHFKit使用第三方组件图.png

3 : 框架使用

  • . 医疗数据模型
    用来统一项目中的通用数据模型,包括请求的网络方式和处理方法,以及本地数据库的存储。
    例如(Patient,Nurse,Doctor)等模型,由于很多项目已经进入稳定状态,故不好统一,下一个版本实现。

  • . 通用控件库
    通用控件库目的是为了更好的调用一些通用的控件,通常是公司两个以上的项目都使用到的。这些文件在ControlsLibrary下:
    控件介绍:

控件名称 简介 使用介绍
IHFRefresh 下拉/上划刷新控件,用于tableview, collection view,带有刷新占位符,提示空数据 http://www.jianshu.com/p/50252f14446b
IHFSpreadSheetView 电子表格控件,指定表格行/列及内容,可合并/拆分单元格,可左划删除行,拖拽合并行等。需求来自科研及护理二期护理文书等
IHFPopAnimationView 弹出视图及自定义弹出特效 http://www.jianshu.com/p/4cdcf4b9c8f5
IHFProgressHUD 主要是用来针对网络情况给用户的提示控件 http://www.jianshu.com/p/db7c405ac1fe
IHFDB 基于FMDB上的一层封装,主要用来做本地数据库的存储,模型和字典的转换 http://www.jianshu.com/p/1f6e56ed76de
IHFCalendar 可以弹出一个简单,实用的日历! http://www.jianshu.com/p/ba8a6b275221
IHFAlertController 更容易的使用AlertController,针对AlertView被弃用
IHFMessageNotification 消息通知,基本Socket对消息进行推送,用户必须上线(登录时候调用) 使用方法见IHFMessageNotification.h,连接和服务器和登录
  • . 网络请求

网络请求是借助AFNetworking进行数据的请求。
App可以使用创建一个自己的业务层间接来调用,也可以直接使用网络请求层的API来发送。(见IHFNetwork.h)

所有请求都需要封装成IHFNetworkRequest的子类,包括请求的类型,地址,参数等均可自定义。
需要注意的是registerHostIP这个方法是为了方便使用IHFKit的App简化请求的,可以把后台服务器的IP地址、端口号一次性注册,这样同一个module之后发送http请求时就可以不用附带这些信息。如果你的App有不同与你注册的Ip,IHFNetworkRequest有为个specialURL,可以修改这次请求的URL的IP和端口。当然你要传给后台的参数给可以写在IHFNetworkRequest的子类属性,我们会将你的这些参数自动转换成字典,传给后台。

请求到的数据可以根据IHFDB中带有的字典和模型的转换。

假设同一个App有多个动态库的模块使用到了IHFKit(举个栗子,移动医生可以直接使用IHFKit, 其中病历模块如果是一个动态库的话,也可能独立使用IHFKit;医嘱模块也是这样),也不会有问题,IHFKit内部会对调用registerHostIP的模块及其注册的信息做一对一关联。。。。

  • . 数据库存储

数据库存储是借助IHFDB进行本地数据的操作。详细适应见介绍。
SQLiteUpgrade:预留用于缓存版本更新的迁移接口(尚未与缓存框架接通)

  • . 消息通知

根据IHFMessageNotification进行消息通知,用户必须要根据主机IP和端口连接服务,然后再登录。就可以发送消息通知和接收到消息通知。

  • . 错误异常处理

1.IHFErrorCode用于定义和显示IHEFE统一的错误码
2.UncaughtExceptionHandler用于捕获未处理的异常,不过实际情况是如果捕获的异常发生在主线程,而捕获异常后又试图弹出GUI界面,会导致界面锁死。所以在实际使用中最好在UncaughtExceptionHandler只做逻辑上的异常处理,而不要发生用户交互的行为。

  • . 工具类介绍
类型 名称 大致介绍
Tool IHFBaseTool 基本工具类,调用一些经常使用的方法
IHFBaseTool+AppUpgrading 检测App的版本和更新
IHFBaseTool+UncaughtException 注册异常的捕获,防止闪退
IHFViewTool 视图工具类
IHFValidateTool 数据检验工具类,可以检验一些信息,比如手机信息
IHFFileTool 文件/目录操作工具类
IHFDeviceTool 设备系统、硬件信息工具类
category UIView+IHF 简化了View中frame的调用 ,比如Width,height
UIImage+IHF 将图片拉伸或者画圆角,模糊等
NSDate+IHF 时间的处理,时间跟字符的转换
NSString+IHF 字符串的处理
NSDictionary+IHF 字典处理,多用于对网络请求的一些处理
NSArray+IHF 数组处理,防止数组越界

你可能感兴趣的:(IHFKit - iOS基础框架 v1.0)