cell数据的模型类调用

1.创建读取存放数据源信息类(cellModel)

//创建cell的数据模型类,用来保存一个cell的所有数据

@interface CellModel : NSObject

//保存图标名称

@property(nonatomic,copy)NSString *icon;

//保存发行公司名称

@property(nonatomic,copy)NSString *publisher;

//保存应用名称

@property(nonatomic,copy)NSString *name;

//保存投票人数

@property(nonatomic,copy)NSString *numRatings;

//保存价格

@property(nonatomic,copy)NSString *price;

//保存评分

@property(nonatomic,copy)NSString *rating;

//类的初始化方法

- (instancetype)initWithDictionary:(NSDictionary *)dict;

+ (id)cellModelWithDictionary:(NSDictionary *)dict;

@end


1.1创建类的初始化方法,根据传入的原始数据信息保存配置本身的属性

- (instancetype)initWithDictionary:(NSDictionary *)dict

{

    if (self = [super init]) {   

            _icon = [dict objectForKey:@"Icon"];

            _publisher = [dict objectForKey:@"Publisher"];

            _name = [dict objectForKey:@"Name"];

            _price = [dict objectForKey:@"Price"];

            _rating = [dict objectForKey:@"Rating"];

            _numRatings = [[dict objectForKey:@"NumRatings"] stringValue];     

    }  

    return self;

}


2.创建数据源信息类的加载管理类(dataModel)

@interface DataModel : NSObject

//保存所有数据

@property(nonatomic,retain)NSMutableArray *arrayData;

//类的单例初始化方法

+ (DataModel *)sharedDataModel;

@end

2.1重写类的初始化方法,解析加载数据文件,传递原始数据信息调用cellModel的初始化方法实例化数据源信息类cellModel

- (instancetype)init

{

    if (self = [super init]) { 

        _arrayData = [NSMutableArray array];       

        //读取plist文件路径

        NSString *plistPath = [[NSBundle mainBundle]pathForResource:@"Data" ofType:@"plist"];

        //读取plist内容

        NSArray *array = [NSArray arrayWithContentsOfFile:plistPath];        

        //遍历数据,将数据转换成cell的模型

        for (NSDictionary *dict in array) {

            CellModel *model = [[CellModel alloc]initWithDictionary:dict];


 2.2将实例化创建出来的cellModel对象保存到数据管理类(dataModel)的arrayData属性中

            [_arrayData addObject:model];    

        }

    }    

    return self;

}





3.创建单列方法提供实例化信息管理类(dataModel)的方法

//创建单例对象

+ (DataModel *)sharedDataModel

{

    static DataModel *dm = nil;

    if (dm == nil) { 

        dm = [[DataModel alloc]init];

    }

    return dm;

}


4.重写视图控制器的数据源属性arrayData的get方法来实例化数据源管理类对象

- (NSArray *)arrayData

{

    if (_arrayData == nil) {

        _dm = [DataModel sharedDataModel];


4.1将实例化出来的数据源管理类对象的arrData属性赋值给视图控制器的arrdata属性中

        _arrayData = _dm.arrayData;

    }

    return _arrayData;

}





5.在视图控制器的表视图的数据源协议方法里创建cellModel类型对象并将arrayData的对应的数据信息赋值给cellModel类型对象

    CellModel *cellModel = [self.arrayData objectAtIndex:indexPath.row];


5.1配置表视图的cell的属性通过获取到的cellModel类型的对象

    cell.iconView.image = [UIImage imageNamed:cellModel.icon];

    cell.publishView.text = cellModel.publisher;

    cell.priceView.text = cellModel.price;

    cell.nameView.text = cellModel.name;

    cell.numRatingsView.text = cellModel.numRatings;

    

    return cell;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值