• ios-model数据结构


    主要作用:简化VC代码,便于请求数据中字段的增、删、查、找,以及后期代码维护。

    一、构建Model。

    创建继承于NSObject的PlaceOrderModel

    #import <Foundation/Foundation.h>
    
    @interface PlaceOrderModel : NSObject
    
    //保证下面的字段和请求的字段相同即可,添加新字段时可直接使用,新字段对旧字段没有影响
    @property (nonatomic,strong) NSString * provinceName;
    @property (nonatomic,strong) NSString * cityName;
    @property (nonatomic,strong) NSString * countyName;
    @property (nonatomic,strong) NSString * unitName;
    
    @property (nonatomic,strong) NSString * address;
    @property (nonatomic,strong) NSString * contact;
    @property (nonatomic,strong) NSString * phone;
    
    +(instancetype)ModelWithDic:(NSMutableDictionary*)dic;
    
    @end
    #import "PlaceOrderModel.h"
    
    @implementation PlaceOrderModel
    
    +(instancetype)ModelWithDic:(NSMutableDictionary *)dic
    {
        PlaceOrderModel *model=[[PlaceOrderModel alloc]init];
        [model setValuesForKeysWithDictionary:dic];
        return model;
    }
    
    -(void)setValue:(id)value forUndefinedKey:(NSString *)key
    {
        if ([key isEqualToString:@""]) {
            NSLog(@"数据不对");
        }
        
    }

    二、在VC中调用PlaceOrderModel

                        PlaceModel = [PlaceOrderModel ModelWithDic:_dataSouce[i]];
                        NSString * cityName = nil;
                        if ([PlaceModel.provinceName isEqualToString:PlaceModel.cityName]) {
                            cityName = [NSString stringWithFormat:@"%@%@",PlaceModel.provinceName,PlaceModel.countyName];
                        }else{
                            cityName = [NSString stringWithFormat:@"%@%@%@",PlaceModel.provinceName,PlaceModel.cityName,PlaceModel.countyName];
                        }
                        
                        cell.CityName.text = cityName;
                        cell.AddressName.text = PlaceModel.address;
                        NSString * people = [NSString stringWithFormat:@"%@ %@",PlaceModel.contact,PlaceModel.phone];
                        cell.PeopleName.text = people;
  • 相关阅读:
    Android Studio 2.2.2导入Eclipse中创建的项目
    mvc上传到云虚拟机的问题解决
    基于矢量数据的逆地理编码功能实现
    离线地图解决方案(二):地图基本控制
    离线地图解决方案(一):加载瓦片地图
    离线地图解决方案
    openlayers应用“四”:百度地图纠偏续
    openlayers应用“三”:百度地图纠偏
    openlayers应用(二):加载百度离线瓦片
    openlayers3应用一:显示百度地图
  • 原文地址:https://www.cnblogs.com/sayimba/p/6097056.html
Copyright © 2020-2023  润新知