1. Plist → 模型数组

控制器中引用#import "MJExtension.h"

模型数组 = [模型类名 objectArrayWithFilename:@"文件名.plist"];

2. 对NSLog的优化,解决 调试时,打印模型,只打印出内存地址的问题

使用方法:在模型类的.m文件中,引用#import "MJExtension.h"

在@implementation 和 @end之间,写上MJLogAllIvrs

3. 对NSCoding的优化,不用再写繁琐的解档和归档方法了

使用方法:在模型类的.m文件中,引用#import "MJExtension.h"

在@implementation 和 @end之间,写上MJCodingImplementation

4. 字典数组 → 模型数组

4.1 场景一: [  字典1,

        字典2,

        字典3  ]

如果每个字典都是一个模型,可以用

NSArray *modelArray = [模型类名 objectArrayWithKeyValuesArray:字段数组];

4.2 场景二:在场景一的基础上,每个字典里面,有数组(假设数组的key值是arrayName),数组里面存放着若干个相同的模型,使用下面的方法

使用方法:

首先在模型类.m文件中,引入#import "MJExtension.h"

然后在 @implementation 和 @end之间 写上

- (NSDictionary *)objectClassInArray

{

return @{@"arrayName" : [模型类名 class]};

}

5. 如果 服务器传过来的 字典数组里的字典的Key,是OC里的关键字,而使用MJExtention的前提是,模型里的属性名和数组的key一致才行(区分大小写),怎么办?

使用replacedKeyFromPropertyName

使用方法:1.在模型类.m文件引入"MJExtension.h"

    2.实现方法

+ (NSDictionary *)replacedKeyFromPropertyName

{

return @{@“非关键字的属性名” : @“数组的key”};

}

6. 单个字典 → 单个模型

+ (instancetype)objectWithKeyValues:(NSDictionary *)keyValues

//1.使用MJExtension的时候属性名不识别解决方法,假如id编PID
-(NSDictionary *)replacedKeyFromPropertyName{
    return @{@"PID":@"id"};
}
//2.当一个类中包含多个对象
- (NSDictionary *)objectClassInArray
{
    return @{@"regions" : [Class class]};
}
//3.MJCodingImplementation 再.m文件中加入此句,代表带向序列化

//当屏幕尺寸放生旋转是调用
- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator
//字典转模型类  objectWithKeyValues
self.deal = [MTDeal objectWithKeyValues:[result[@"deals"] firstObject]];

 

MJExtension的使用的更多相关文章

  1. MJExtension笔记(一)

    之前有说,看好的编程就去敲好的开源项目:一直觉得这个无从下手,但是这次跟着一点点敲MJExtension,我明白了这句话的深度:其实并不需要去找,每一个三方项目都有很多值得学习的地方:笔记一只记录在敲 ...

  2. iOS开发小技巧--利用MJExtension解决数据结构复杂的模型转换

    一.开发中难免会遇到,系统返回的数据中字典套集合,集合里面又套一层字典,然后字典里面还有字典或者集合等等的复杂结构的数据...MJExtension轻松搞定这类问题 1.解决方法一: 例:百思项目中帖 ...

  3. iOS开发——网络篇——JSON和XML,NSJSONSerialization ,NSXMLParser(XML解析器),NSXMLParserDelegate,MJExtension (字典转模型),GDataXML(三方框架解析XML)

    一.JSON 1.JSON简介什么是JSONJSON是一种轻量级的数据格式,一般用于数据交互服务器返回给客户端的数据,一般都是JSON格式或者XML格式(文件下载除外) JSON的格式很像OC中的字典 ...

  4. MJExtension框架介绍

    MJExtension框架介绍 标签: MJExtension 2015-05-01 08:22 1120人阅读 评论(0) 收藏 举报  分类: Foundation(14)  版权声明:本文为博主 ...

  5. 正在使用MJRefresh & MJExtension的App

    框架地址:https://github.com/CoderMJLee已经有上百个App用到了MJRefresh & MJExtension框架(只列出了其中一部分App):

  6. iOS开源JSON解析库MJExtension

    iOS中JSON与NSObject互转有两种方式:1.iOS自带类NSJSONSerialization 2.第三方开源库SBJSON.JSONKit.MJExtension.项目中一直用MJExte ...

  7. MJExtension简介

    *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...

  8. MJExtension的使用:https://github.com/CoderMJLee/MJExtension

    MJExtension能做什么? MJExtension是一套字典和模型之间互相转换的超轻量级框架 MJExtension能完成的功能 字典(JSON) --> 模型(Model) 模型(Mod ...

  9. 新浪微博客户端(17)-集成MJExtension

    使用MJExtension框架将字典转换为模型 DJHomeViewController.m /** 载入新的微博数据 */ - (void)loadNewStatues { AFHTTPSessio ...

  10. 使用MJExtension中要注意的地方

    MJExtension git地址  https://github.com/CoderMJLee/MJExtension#JSON_Model Model contains model-array[模 ...

随机推荐

  1. ubuntu 16.04下搭建web服务器(MySQL+PHP+Apache) 教程

    1.开始说明 下面很多可能参照网上其中以为前辈的,但有所改进吧.这些设置可能会有所不同,你需要根据不同情况进行修改. 安装apache2 2.切换管理员身份 在ubuntu中需要用root身份进行操作 ...

  2. iframe标签flash遮盖页面元素问题——wmode参数

    最近做项目过程中,遇到各种小问题,所以打算通过博客园来记录各问题的解决办法. 这篇的问题背景是这样子的:项目是用的AngularJS框架,在某个页面上用了wangEditor富文本编辑器插件(gith ...

  3. 3个微信小程序体验报告

    1.小程序摩拜单车.腾讯视频.JD的体报告 2.小程序的入口存在不公平 3.小程序2.0会怎么样?WSO浅谈 KEVIN常用的APP是以摩拜单车与JD商城和大众点评等,那么今天也就通过这上个进行对比 ...

  4. POJ 3740 Easy Finding

    #include<cstdio> #include<cstring> #include<cmath> #include<algorithm> using ...

  5. 转:Cocoa、Foundation、UIKit、Objective-c、XCode、Interface Builder的概念

    Cocoa 是在Mac OS X系统上原生的一个编译环境.他包含两个框架,其实就是一系列的类库,Foundation和AppKit. 在你的iPhone等掌上设备上,使用的则是他的一个子类 - Coc ...

  6. CentOS7 安装 Mysql 服务

    我希望所有的软件包都用 rpm.yum 安装,这样卸载.升级.管理方便,可是自带的 yum 仓库里面没有 mysql-server 或者不是最新的,我需要安装MySQL官方的 yum 仓库, http ...

  7. firebug的调试,console

    console.log() console.warn()  警告 console.error()  错误 console.group()  分组 console.grounpEnd() 分组结束 co ...

  8. 【LeetCode】463. Island Perimeter

    You are given a map in form of a two-dimensional integer grid where 1 represents land and 0 represen ...

  9. 5.Hibernate实现全套增删改查和ajax异步分页

    1.1 创建如下oracle数据库脚本 drop sequence seq_stu; create sequence SEQ_STU minvalue maxvalue start increment ...

  10. memcached在项目中的应用

    这一篇将以介绍一个memcached在项目中的应用.假设我们有一个web应用,里面有商品信息,文章信息,评论信息,其他信息,我们希望对其做缓存,那么我们在ServiceImpl层就不在调用DAOmpl ...