TableView中Model层数据
一、如果plist文件中的形式:NSArray —> NSDictionary —>NSArray
最外层的字典
+ (instancetype)carGroupsWithDict:(NSDictionary
*)dict
{
return [[self alloc] initWithDict:dict];
}
- (instancetype)initWithDict:(NSDictionary *)dict
{
self = [super init];
[self setValue:dict[@"title"] forKey:@"title"];
self.carGroups = [SUNCar carsWithArray:dict[@"cars"]];
return self;
}
+ (NSArray *)carGroups
{
NSArray *array = [NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"cars_total.plist" ofType:nil]];
NSMutableArray *arrayM = [NSMutableArray array];
for (NSDictionary *dict in array) {
[arrayM addObject:[self carGroupsWithDict:dict]];
}
return arrayM;
}
{
return [[self alloc] initWithDict:dict];
}
- (instancetype)initWithDict:(NSDictionary *)dict
{
self = [super init];
[self setValue:dict[@"title"] forKey:@"title"];
self.carGroups = [SUNCar carsWithArray:dict[@"cars"]];
return self;
}
+ (NSArray *)carGroups
{
NSArray *array = [NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"cars_total.plist" ofType:nil]];
NSMutableArray *arrayM = [NSMutableArray array];
for (NSDictionary *dict in array) {
[arrayM addObject:[self carGroupsWithDict:dict]];
}
return arrayM;
}
最里层的数组
+ (instancetype)carWithDict:(NSDictionary
*)dict
{
return [[self alloc] initWithDict:dict];
}
- (instancetype)initWithDict:(NSDictionary *)dict
{
self = [super init];
[self setValuesForKeysWithDictionary:dict];
return self;
}
+ (NSArray *)carsWithArray:(NSArray *)array
{
NSMutableArray *arrayM = [NSMutableArray array];
for (NSDictionary *dict in array) {
[arrayM addObject:[self carWithDict:dict]];
}
return arrayM;
}
{
return [[self alloc] initWithDict:dict];
}
- (instancetype)initWithDict:(NSDictionary *)dict
{
self = [super init];
[self setValuesForKeysWithDictionary:dict];
return self;
}
+ (NSArray *)carsWithArray:(NSArray *)array
{
NSMutableArray *arrayM = [NSMutableArray array];
for (NSDictionary *dict in array) {
[arrayM addObject:[self carWithDict:dict]];
}
return arrayM;
}
二、如果plist文件中的形式:NSArray —> NSDictionary
+ (instancetype)tgWithDict:(NSDictionary
*)dict
{
return [[self alloc] initWithDict:dict];
}
- (instancetype)initWithDict:(NSDictionary *)dict
{
self = [super init];
if (self) {
[self setValuesForKeysWithDictionary:dict];
}
return self;
}
+ (NSMutableArray *)tgs
{
NSArray *array = [NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"tgs.plist" ofType:nil]];
NSMutableArray *arrayM = [NSMutableArray array];
for (NSDictionary *dict in array) {
[arrayM addObject:[self tgWithDict:dict]];
}
return arrayM;
}
{
return [[self alloc] initWithDict:dict];
}
- (instancetype)initWithDict:(NSDictionary *)dict
{
self = [super init];
if (self) {
[self setValuesForKeysWithDictionary:dict];
}
return self;
}
+ (NSMutableArray *)tgs
{
NSArray *array = [NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"tgs.plist" ofType:nil]];
NSMutableArray *arrayM = [NSMutableArray array];
for (NSDictionary *dict in array) {
[arrayM addObject:[self tgWithDict:dict]];
}
return arrayM;
}
本文介绍了TableView在不同数据结构下(NSArray-NSDictionary-NSArray与NSArray-NSDictionary)如何从plist文件加载Model层数据的方法。通过具体实现代码展示了如何将字典数据转化为对象,并构建完整的数据模型。
704

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



