- (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
本文介绍如何利用Objective-C中的JSON文件进行数据加载,并将其转换为自定义模型对象,从而实现数据的结构化管理和高效使用。通过解析JSON文件,可以轻松地将数据映射到实际的应用场景中,简化数据处理流程。
562

被折叠的 条评论
为什么被折叠?



