zoukankan      html  css  js  c++  java
  • iOS Json解析框架之MJExtension使用详解

    1. Plist → 模型数组

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

     模型数组 = [模型类名 objectArrayWithFilename:

    [[NSBundle mainBundle] pathForResource:@"文件名.plist" ofType:nil]];

    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

  • 相关阅读:
    阿铭每日一题 day 1 20180111
    计算机网络之基础链路
    android学习笔记 对话框合集
    android 音乐播放器简单实现
    Service的生命周期&Service绑定方法
    android学习笔记 Service
    android学习笔记 activity生命周期&任务栈&activity启动模式
    android 短信助手demo
    android 显示意图
    java 多线程断点下载demo
  • 原文地址:https://www.cnblogs.com/oumygade/p/4462051.html
Copyright © 2011-2022 走看看