使用Jsonmodel需要注意事项

2016-07-25  本文已影响94人  petter102

使用Jsonmodel需要注意事项

我们知道josnmodel可以帮助我们很方面的把json字符转模型 ,但是使用中需要注意以下几点

        
          {
         "order_id": 104,
         "order_details" : [
           {
             "name": "Product#1",   
             "price": {
               "usd": 12.95
             }
           }
         ]
       }
       //以上是json字符串

       @interface OrderModel : JSONModel
       @property (assign, nonatomic) int id;
       @property (assign, nonatomic) float price;
       @property (strong, nonatomic) NSString* productName;
       @end
       
       @implementation OrderModel
       
       +(JSONKeyMapper*)keyMapper
       {
         return [[JSONKeyMapper alloc] initWithDictionary:@{
           @"order_id": @"id",
           @"order_details.name": @"productName",
           @"order_details.price.usd": @"price"
         }];
       }
       
       @end 
       //以上是对应的 属性  只有返回的json和Model属性不一致的时候才需要这个方法keyMapper
       
   ```
       
- 可以设置全局的属性
```objectivec

                [JSONModel setGlobalKeyMapper:[
                   [JSONKeyMapper alloc] initWithDictionary:@{
                     @"item_id":@"ID",
                     @"item.name": @"itemName"
                  }]
               ];

       @property (strong, nonatomic) NSString<Optional>* name;//可选的
       
       @property (strong, nonatomic) NSString<Ignore>* customProperty;//忽略的

例如我做的cell自适应高度的时候 cell的高度是存储在Model的属性中的需要设置可选


      @property(nonatomic,assign)float  height;//缓存的高度
      +(BOOL)propertyIsOptional:(NSString*)propertyName
    {
      if ([propertyName isEqualToString: @"height"]) return YES;
      return NO;
    }

上一篇 下一篇

猜你喜欢

热点阅读