MJExtension 2.0 字典转模型再叙 常用的字典转模型使用实例说明
来源:互联网 发布:java中的异常处理机制 编辑:程序博客网 时间:2024/05/22 05:27
不知道MJExtension什么时候升到 2.0 了然后出现了一些问题,经过一番法研究终于搞定了
首先要注意的网络请求之后得到的字典结构是什么样的
一 :模型中有个数组属性,数组里面又要装着其他模型
//重要的就是这句要怎么做(保留的模型)
1.其中一种声明方法:(使用方法:直接在网络请求之后获得的字典之后)
//此处的 data必须是网络请求之后的字典(因为AFN默默地帮我们转好了中的关键词
//不然的话转换出来的东西就为空
//此处的CFData必须是要保存的模型类型,要声明class
[CFNotesResultmj_setupObjectClassInArray:^NSDictionary *{
return @{@"data" : @"CFData"};}];
2.另一种实现保留模型的方法:(使用方法:在模型的.m文件中实现下面方法)
+ (NSDictionary *)mj_objectClassInArray
{
return @{@"data" : @"CFData"};
}
//此处是对整个 返回的json结果进行模型转换
// 此处直接从result用.语法就可以取到属性data(其中放的是模型数组)
#import <Foundation/Foundation.h>/** * 项目列表 */@class Project;@interface Projects : NSObject#warning 此处的 projects为返回的字典中的关键字@property (nonatomic,strong) NSMutableArray *projects;@end@interface Project : NSObject <NSCopying,NSMutableCopying>@property (nonatomic,copy)NSString *addrs;@property (nonatomic,copy)NSString *all_price;@property (nonatomic,copy)NSString *cpai_num;@property (nonatomic,copy)NSString *created;@property (nonatomic,copy)NSString *dtime;@property (nonatomic,copy)NSString *fp_time;/** * 自己是否关注该项目 收藏状态 */@property (nonatomic,assign) int hasliked;@property (nonatomic,copy)NSString *ID;@property (nonatomic,copy)NSString *jianmianji;@property (nonatomic,copy)NSString *level;/** * 多少人喜欢 */@property (nonatomic,copy)NSString *liked;@property (nonatomic,copy)NSString *name;@property (nonatomic,copy)NSString *score;@property (nonatomic,copy)NSString *sellmianji;@property (nonatomic,copy)NSString *status;@property (nonatomic,copy)NSString *vote_num;@property (nonatomic,copy)NSString *jindu;@property (nonatomic,copy)NSString *jindu_level;/** * po result { data = { projects = ( { addrs = "\U91ce\U751f\U52a8\"; "all_price" = 9000; "cpai_num" = 0; created = 2014; dtime = 0; "fp_time" = 1448193215; id = 1; jianmianji = 72000; level = 4; liked = 0; score = 30; sellmianji = 0; status = 1; "vote_num" = 0; } ); }; info = ""; status = 1; } */@end
#import "Projects.h"@implementation Projects+(NSDictionary *)mj_objectClassInArray{ return @{ @"projects" : @"Project"#warning 此处的 projects 为字典中 的关键字 Project为自己想要保存的模型 };}/** // JSON array -> User array NSArray *userArray = [User mj_objectArrayWithKeyValuesArray:dictArray]; */@end@implementation Project+ (NSDictionary *)mj_replacedKeyFromPropertyName{ return @{ @"ID" : @"id" };#warning 此处的ID 为替代 返回的字典中的关键字id}@end
附使用 :
// 此处直接就获得 模型数组
self.projectsArr = [Projectmj_objectArrayWithKeyValuesArray:[resultobjectForKey:@"data"]];
//或者
Projects *projects = [Projectsmj_objectWithKeyValues:result];
//然后直接就能 projects.projects 获取到模型数组
老掉牙的话:字典转模型是不是有必要 要看自己的使用习惯 ,有人用惯了 使用字典的[@""] ,有人喜欢使用模型的.
- MJExtension 2.0 字典转模型再叙 常用的字典转模型使用实例说明
- MJExtension 字典转模型
- MJExtension 字典转模型高级使用技巧
- IOS 字典模型互转框架 MJExtension
- iOS MJExtension字典转模型高级使用技巧
- MJExtension字典转模型开源框架使用以及遇到的问题
- MJExtension字典和模型之间相互转换的轻量级框架的使用实例
- 利用MJExtension字典转模型时,修改字典里面的"id"key对应为模型里面的其他的属性
- 字典转模型之KVC和MJExtension底层实现
- Runtime的使用3 【字典转模型】
- Runtime的使用3 【字典转模型】
- MJExtension,模型、字典、json数据转换
- 字典转模型时,字典包含字典
- 自定义模型转字典,字典转模型
- 字典转模型的例子
- 字典转模型的方法
- 字典转模型的注意事项
- oc的字典转模型
- LINUX下用apache或者nginx,本机可以访问,但局域网中的电脑无法访问
- Java基础---String类和基本数据类型包装类
- 集成腾讯音视频sdk的一些问题记录与解决方案
- Implicit declaration of function '' is invalid in C99.
- iOS应用程序生命周期(前后台切换,应用的各种状态)详解
- MJExtension 2.0 字典转模型再叙 常用的字典转模型使用实例说明
- shell 脚本中循环未能修改循环外变量的问题解决
- windows系统共享文件夹访问无需验证(输入用户名和密码)即可进入
- Java学习强烈推荐书籍—Java核心技术Ⅰ、Ⅱ
- 枚举和结构体的区别
- MYSQL 删除重复项
- C C++ Intro - Address Substract
- 点点滴滴的记录
- 完全理解Gson(2):Gson序列化