轻量级的个人常用框架,包含模型的自动封装,模型与数据库的操作,HTTP请求,文件的上传与下载。目前整理中
框架导入方式
pod 'CSUsualKit'
模型的自动封装
例如
创建一个类 ClassA 继承 CSBaseModel。可以通过类方法或实例方法进行相关的模型封装操作
ClassA *model = [ClassA dictEncapsulationAsModel:datadict];
以上采用类方法将数据封装到模型中
或
创建一个类 ClassA 继承 CSBaseModel。可以通过实例方法进行相关的模型封装操作
ClassA *model = [ClassS CSInit];
[model dictEncapsulationAsModel:dataDict];
采用类方法将数据封装到模型中
包含字典的数组自动封装成包含模型的数组
例如
创建一个类 ClassA 继承 CSBaseModel。
NSArray *modelArray = [ClassA dictsEncapsulationAsModels:dataDictArray.copy];
此时将得到一个数组模型,对应传入的字典数组
模型自动转换为字典
例如
创建一个类 ClassA 继承 CSBaseModel,初始化一个模型对象,调用 modelEncapsulationAsDict 方法
ClassA *model = [ClassA CSInit];
NSDictionary *dataDict = [model modelEncapsulationAsDict];
此时得到一个字典,字典中的数据对应模型中的数据
模型转换为 json 字符串
例如
创建一个类 ClassA 继承 CSBaseModel,初始化一个模型对象,调用 modelConvertJsonString 方法
ClassA *model = [ClassA CSInit];
NSString *jsonString = [model modelConvertJsonString];
此时得到一个 Json 字符串
请求部分
POST 请求
例如
创建请求类 CSRequest 的对象,调用请求方法 postRequest,传入委托对象、代理方法、请求地址、请求参数(继承自 CSBaseModel 的模型或字典)
CSRequest *request = [CSRequest CSInit];
[request postRequest:self action:@selector(requestComplete:dataDict:message:) requestUrl:BaseUrl(testUrl) parameter:RQModel];
在 VC 中创建代理方法
-(void)requestComplete:(RequestStatusCode)requestCode dataDict:(NSDictionary *)dataDict message:(NSString *)message
GET 请求
例如
创建请求类 CSRequest 的对象,调用请求方法 getRequest,传入委托对象、代理方法、请求地址、请求参数(继承自 CSBaseModel 的模型或字典)
CSRequest *request = [CSRequest CSInit];
[request getRequest:self action:@selector(requestComplete:dataDict:message:) requestUrl:BaseUrl(testUrl) parameter:RQModel];
在 VC 中创建代理方法
-(void)requestComplete:(RequestStatusCode)requestCode dataDict:(NSDictionary *)dataDict message:(NSString *)message
序列化 支持类中的模型属性序列化
创建类 ClassA 继承自 CSBaseModel,创建对象 model,调用 modelSerialization
[model modelSerialization:@"test"];
反序列化 支持类中的模型属性反序列化
创建类 ClassA 继承自 CSBaseModel,调用静态方法 modelDeserialization
id object = [ClassA modelDeserialization:@"test"];