BAModel概述

BAModel 是BANetworking的组件之一,它可以把NSDictionay自动转成NSObject对象。

特性

  • 高性能: 模型转换性能接近手写解析代码。
  • 自动类型转换: 对象类型可以自动转换,详情见下方表格。
  • 类型安全: 转换过程中,所有的数据类型都会被检测一遍,以保证类型安全,避免崩溃问题。
  • 轻量: 该框架只有1个基类。
  • 文档和单元测试: 文档覆盖率100%, 代码覆盖率99.6%。

当 JSON/Dictionary 中的对象类型与 Model 属性不一致时,BAModel 将会进行如下自动转换。自动转换不支持的值将会被忽略,以避免各种潜在的崩溃问题。

JSON/Dictionary Model
NSString NSNumber,NSURL,SEL, Class
NSNumber NSString
NSString/NSNumber 基础类型 (BOOL,int,float,NSUInteger,UInt64,…)
NaN 和 Inf 会被忽略
NSString NSDate 以下列格式解析:
NSNull nil,0
“no”,”false”,… @(NO),0
“yes”,”true”,… @(YES),1

性能