plist文件字典转模型
1.首先定义一个成员变量,存放所需的数据. 即:NSArray *apps
#pragma mark - 重写apps的getter方法
-(NSArray *)apps{
if (_apps == nil) {
NSString *path = [[NSBundle mainBundle]pathForResource:@"app.plist" ofType:nil];
NSArray *dictArray = [[NSArray alloc]initWithContentsOfFile:path];
NSMutableArray *appArray = [NSMutableArray array];
for (NSDictionary *dict in dictArray) {
AppModel *app = [[AppModel alloc]initWithDict:dict];
[appArray addObject:app];
}
_apps = appArray;
}
return _apps;
}
2. 创建数据模型(上文中的 AppModel类)
#import <Foundation/Foundation.h>
@interface AppModel : NSObject
@property (nonatomic,copy) NSString *icon;
@property (nonatomic,copy) NSString *name;
-(instancetype)initWithDict:(NSDictionary *)dict;
+(instancetype)modelWithDict:(NSDictionary *)dict;
@end
#import "AppModel.h"
@implementation AppModel
-(instancetype)initWithDict:(NSDictionary *)dict{
if (self = [super init]) {
self.name = dict[@"name"];
self.icon = dict[@"icon"];
}
return self;
}
+(instancetype)modelWithDict:(NSDictionary *)dict{
return [[self alloc]initWithDict:dict];
}
@end