1.模型类中定义好属性 2.用AFN请求下来的数据保存到字典中 3.从字典中取出微博字典数组 //微博字典数组 NSArray *restrictArray = responseObject[@"statuses"]; 4.用MJExtension把微博字典数组转成微博模型数组 //微博模型数组 NSArray *newstatues = [XJStatuse mj_objectArrayWithKeyValuesArray:restrictArray]; 5.将新微博模型数组插入到原…
一.JSON 1.JSON简介什么是JSONJSON是一种轻量级的数据格式,一般用于数据交互服务器返回给客户端的数据,一般都是JSON格式或者XML格式(文件下载除外) JSON的格式很像OC中的字典和数组{"name" : "jack", "age" : 10}{"names" : ["jack", "rose", "jim"]} 标准JSON格式的注意点:key必…
关于字典plist读取/字典转模型/自定义View/MVC/Xib的使用/MJExtension使用总结 一:Plist读取 /******************************************************************************/ 一:简单plist读取 :定义一个数组用来保存读取出来的plist数据 @property (nonatomic, strong) NSArray *shops; :使用懒加载的方式加载plist文件,并且放到数…
如果项目是纯OC的建议使用,MJExtension是一套字典和模型之间互相转换的超轻量级框架,可以轻松完成: 字典(JSON) --> 模型(Model) 模型(Model) --> 字典(JSON) 字典数组(JSON Array) --> 模型数组(Model Array) 模型数组(Model Array) --> 字典数组(JSON Array)如果是swift的项目推荐使用SwiftyJSON,HandyJSON.当然还有其他的解析方式在这里就不说了.如果项目混编我还是喜…
字典转模型第三方框架 Mantle 所有模型都必须继承自MTModel JSONModel 所有模型都必须继承自JSONModel MJExtension 不需要强制继承任何其他类 设计框架需要考虑的问题 侵入性 侵入性大就意味着很难离开这个框架 易用性 比如少量代码实现N多功能 扩展性 很容易给这个框架增加新功能 MJExtension框架在gitHub的下载地址 https://github.com/CoderMJLee/MJExtension *:first-child { margin-…
一:url转码,当url中涉及到中文的时候,要考虑转码,用UTF8对中文的url进行转码 #import "ViewController.h" @interface ViewController () @end @implementation ViewController #pragma mark ---------------------- #pragma mark Events -(void)touchesBegan:(NSSet<UITouch *> *)touche…
*************application - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // 1.创建窗口 self.window = [[UIWindow alloc] init]; self.window.frame = [UIScreen mainScreen].bounds; // 2.设置根控制器 HWA…
前言 我们都知道,开发中会有这么一个过程,就是将服务器返回的数据转换成我们自己定义的模型对象.当然服务器返回的数据结构有xml类型的,也有json类型的.本文只讨论json格式的. 大家在项目中一般是怎么样将服务器返回的json转化成自己定义的模型类呢? 我在项目中一般都是使用的MJExtension. 本文讲解的也基本就是解读MJExtension中的部分源码. 好了,废话不多说,直接上代码,let's go 简单字典转模型 首先,从最简单的字典开始,例如我们需要将如下的字典转化成自定义的模型…
Tips:这次的内容分为两篇文章讲述01.[iOS]仿微博视频边下边播之封装播放器 讲述如何封装一个实现了边下边播并且缓存的视频播放器.02.[iOS]仿微博视频边下边播之滑动TableView自动播放 讲述如何实现在tableView中滑动播放视频,并且是流畅,不阻塞线程,没有任何卡顿的实现滑动播放视频.同时也将讲述当tableView滚动时,以什么样的策略,来确定究竟哪一个cell应该播放视频. 上篇文章讲述了封装一个边下边播,并且带有缓存功能的播放器.如果你还没有看,请点击跳转[iOS]仿…
基本原理 利用 runtime 原理,获取模型中所有实例变量列表,根据实例变量以此获取模型中成员变量的名称和属性类型,区分Foundation和自定义属性,需要对NSDictionary和NSArray类型做单独处理. 下面代码是一个简单的原理实现Demo,真正的框架中需要考虑很多问题,例如可以设置只有某个数组中的属性名才允许进行字典和模型的转换,将属性名换为其他key去字典中取值,白名单,黑名单等等设置 + (instancetype)modelWithDict:(NSDictionary *…