MJExtension
MJExtension copied to clipboard
A fast, convenient and nonintrusive conversion framework between JSON and model. Your model class doesn't need to extend any base class. You don't need to modify any model file.
## 为了排除你自己的问题, 请写一个 Demo 线上日志收集到的崩溃,不是必现 **描述bug** json转model崩溃,最近收集到不少类似的崩溃,堆栈的末尾基本上都是这种: ``` 0 libobjc.A.dylib 0x00007fff6a2a76e5 objc_retain + 21 1 MJExtension 0x000000010b001e10 +[NSObject(Property) mj_enumerateProperties:] + 237 2 MJExtension 0x000000010affe954 -[NSObject(MJKeyValue) mj_setKeyValues:context:] + 514 3 MJExtension...
对于嵌套的模型,子节点下模型原来有值,赋值的数据中某些字段没有值,使用mj_setKeyValues赋值后,原来有值的字段因为被新数据直接覆盖,会出现空值 理想情况:子节点下新值为空,老值有数据,应该不覆盖沿用老值 具体情况可以看图中parent.name和child.testUrl
`mj_shouldAutoInheritConfigurations` ### 原有方案 `mj_setup` `block` 设置会自动继承 `mj_` `非 block` 方法设置不会自动继承 ### 逻辑 这里以 `mj_replacedKeyFromPropertyName` 为例: ```objc /// 父类: @interface MJUser : NSObject ... @end @implementation MJUser + (NSDictionary *)mj_replacedKeyFromPropertyName {...
- `yyyy-MM-dd` - `yyyy-MM-dd'T'HH:mm:ss` - `yyyy-MM-dd HH:mm:ss` - `yyyy-MM-dd'T'HH:mm:ss.SSS` - `yyyy-MM-dd HH:mm:ss.SSS` - `yyyy-MM-dd'T'HH:mm:ssZ` - `yyyy-MM-dd'T'HH:mm:ss.SSSZ`
**描述bug** double 类型字符串转 Double 会造成溢出 **怎么样重现这个bug** Model ```objc @interface MJDog : NSObject @property (copy, nonatomic) NSString *nickName; @property (assign, nonatomic) double salePrice; @property (assign, nonatomic) float runSpeed; @end ``` Test...