第一步
创建一个模型类 CZModel.h ,CZModel.m 继承NSObject
第二步
在CZmodel.h中 写入属性,与plist文件中的属性名称一一对应
第三步
在CZmodel.h中 写入初始化数据的方法
第四步
在CZmodel.m中实现.h中的方法
第五步
数据的使用 在mian中进行懒加载
第六步
在-(void) viewDidLoad中测试数据
.h文件中的内容
{
#import<Foundation/Foundation.h>
//2
@interface CZModel:NSObject
@property (nonatomic,copy) NSString *name;
@property (nonatomic,assign) int age;
//3
-(instancetype)initWithDic:(NSDictionary *) dic;
+(instancetype)modelWithDic:(NsDictionary *) dic;
+(NSArry *) modelsList;
@end
}
.m文件中的内容
{
#import "CZModel.h"
@implementation CZModel
-(instancetype)initWithDic:(NSDictionary *) dic
{
if(self=[super init]){
[self setValuesForKeysWithDictionary:dic];//将plist文件中的数据拿到类中来并且赋值给相应的属性
}
return self;
}
+(instancetype)modelWithDic:(NSDictionary *) dic
{
return [[self alloc] initWithDic:dic];
}
+(NSArray *) modelsList
{
//加载plist
NSString *path=[[NSBundle mainBundle] pathForResource:@"plistName" ofType:@"plist"];
NSArray *dicArray=[NSArray arrayWithContentsOffFile:path];
//字典转模型
NSMutableArray *tmpArray=[NSMutableArray array];
for(NSDictionary *dic in dicArray){
CZModel *model=[CZModel modelWithDic:dic];
[tmpArray addObject:model];
}
return tmpArray;
}
}
ViewController.m
{
//1.定义属性
#import"ViewController.h"
#import "CZModel.h"
{
@interface ViewController()
@property(nonatomic,strong) NSArray *models;
@end
@implementation ViewController
//2.懒加载
-(NSArray *) models
{
if(_models==nil)
{
_models=[CZmodel modelsList];
}
return _models;
}
@end
}
-(void) viewDidLoad
{
NSLog("%@",self.models);
}