iOS加载本地Json文件,b并转为模型数据

来源:互联网 发布:今日头条淘宝推广 编辑:程序博客网 时间:2024/06/01 08:59
- (NSArray *)lianxis{    if (_lianxis == nil) {               //JSON文件的路径        NSString *path = [[NSBundle mainBundle] pathForResource:@"lianxis.json" ofType:nil];                //加载JSON文件        NSData *data = [NSData dataWithContentsOfFile:path];                //将JSON数据转为NSArray或NSDictionary        NSArray *dictArray = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];                //将字典转为数组        NSMutableArray *lianxArray = [NSMutableArray array];        for (NSDictionary *dict in dictArray) {            LianxiModel *model = [LianxiModel lianxiWithDict:dict];            [lianxArray addObject:model];        }                //赋值        _lianxis = lianxArray;    }    return _lianxis;}

模型.h

#import <Foundation/Foundation.h>@interface LianxiModel : NSObject/** *  练习按钮上的文字 */@property(nonatomic,copy)NSString *title;/** *  练习按钮上的图标 */@property(nonatomic,copy)NSString *icon;- (instancetype)initWithDict:(NSDictionary *)dict;+ (instancetype)lianxiWithDict:(NSDictionary *)dict;@end

模型.m

#import "LianxiModel.h"@implementation LianxiModel- (instancetype)initWithDict:(NSDictionary *)dict{    if (self = [super init]) {        self.icon = dict[@"icon"];        self.title = dict[@"title"];    }    return  self;}+ (instancetype)lianxiWithDict:(NSDictionary *)dict{    return [[self alloc] initWithDict:dict];}@end


0 0
原创粉丝点击