mjorm java_序列化框架MJExtension详解 + iOS ORM框架

5 . 前面都是些常规用法, 下面开始装逼...

所谓高级用法其实就是严密的逻辑加科学的管理(抽抽抽!!!)加牛逼的架构加首席科学家的思想云云...不扯了...

恩恩..

以上所有操作都是在我们的模型里面完成的, 这样就对模型造成了一定的污染, 下次我们代码万一不用 MJExtension 了, 那这些模型就都不能用了, 那就哭吧...所以大神 MJ 早就给我们做好了一切, 然后一群菜狗们屁颠屁颠拿来装逼了, 比如本人...

以上的所有操作都可以不用再模型中操作, 我们可以拿出来放在外面, 比如某个 viewController 里面统一设置

例子2中这么写, 方法名差不多,只不过换成了 block 回调

//例子 2.

[Person mj_setupReplacedKeyFromPropertyName:^NSDictionary *{return@{//模型属性: JSON key, MJExtension 会自动将 JSON 的 key 替换为你模型中需要的属性

@"ID":@"id",@"descrip":@"description",//@"address":@"address.province",

@"dogName":@"address.family[2].dog",

};

}];

//例子 3.

[Person mj_setupReplacedKeyFromPropertyName121:^NSString *(NSString *propertyName) {//propertyName 是你属性名, 你把属性名格式化成对应字典中 key, 返回就可以了

NSMutableString*key = [NSMutableString string];//遍历propertyName的所有字符

for (NSInteger i = 0; i < propertyName.length; i++) {

unichar c=[propertyName characterAtIndex:i];if (c >= 'A' && c <= 'Z') { //大写字母

[key appendFormat:@"_%c", c + ('a' - 'A')];

}else { //非大写字母

[key appendFormat:@"%c", c];

}

}returnkey;//其实 MJ的框架里已经实现了这个方法, 你只需一句代码:请跟着我心中默默念一句: 卧槽...//return [propertyName mj_underlineFromCamel];

}];

//例子 4.

[Person mj_setupObjectClassInArray:^NSDictionary *{return@{@"users":@"User",//或者//@"users":[User class],

};

}];

别急, 还没完, 下面来电思想层面的鸡汤...

没发现其实这些其实都是一次性的设置吗, 开发中我们这样的配置会十分平凡, 感觉上是不是很想抽的冲动...这一堆东西写在控制器里, 而且不一定只是一个控制器, 好多控制器都会有, 只要你需要转模型...

那怎么抽呢, 其实你发现没, 这和我们经常会抽一个专门管理常量的的类的做法, 是不是很类似, 这里我们也是这个需求

所以我们单独抽一个专门配置模型的 MJExtensionConfig类来管理这些配置, 这样不是方便许多吗!!!!所以我们将上面的那些配置统统拿到我们的配置类中

放到哪儿最合适, 当然是+ load中喽

别急, 还没完, 下面来电思想层面的鸡汤...

没发现其实这些其实都是一次性的设置吗, 开发中我们这样的配置会十分平凡, 感觉上是不是很想抽的冲动...这一堆东西写在控制器里, 而且不一定只是一个控制器, 好多控制器都会有, 只要你需要转模型...

那怎么抽呢, 其实你发现没, 这和我们经常会抽一个专门管理常量的的类的做法, 是不是很类似, 这里我们也是这个需求

所以我们单独抽一个专门配置模型的 MJExtensionConfig类来管理这些配置, 这样不是方便许多吗!!!!所以我们将上面的那些配置统统拿到我们的配置类中

放到哪儿最合适, 当然是+ load中喽

从如下转载:https://www.jianshu.com/p/11a8e15f7d2b

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值