个人理解:字典转模型

来源:互联网 发布:2016年4月非农数据 编辑:程序博客网 时间:2024/06/04 20:05

1.字典跟模型的优缺点比较:

1>字典在使用key的时候Xcode不会有提示,容易出错,模型就不会

2>①所谓模型,其实就是数据模型,专门用来存放数据的对象,用它来表示数据会更加专业

②模型设置数据和取出数据都是通过它的属性,属性名如果写错了,编译器会马上报错,因此,保证了数据的正确性

③使用模型访问属性时,编译器会提供一系列的提示,提高编码效率

以上仅供参考,可以直接秒下面的代码注释

2.字典转模型

1.>首先要有一个plist文件,将字典中的元素添加到plist文件中

注意:plist文件应该是创建的NSArray包含NSDictionary,NSDictionary包含NSString

2.>接下来应该在model文件夹创建新的文件并在.h文件中添加两个方法

+(instancetype)appWithDict: (NSDictionary*)dict;//app是对应的属性名

-(instancetype)initWithDict: (NSDictionary*)dict;

3>在新创建的文件中实现。

+(instancetype)appWithDict:(NSDictionary*)dict

{

return[[self alloc]initWithDict:dict];

}

-(instancetype)initWithDict:(NSDictionary*)dict

{

if(self= [super init]) {

self.name= dict[@"name"];

self.icon= dict[@"icon"];

}

returnself;

}

4>在viewController中添加一个数组属性的变量,然后在将字典转模型

//声明成员变量

@property(strong,nonatomic)NSArray*shops;

//实现对应方法

-(NSArray*)shops

{

//初始化数组

if(_app == nil) {

//把对应路径下的plist文件的字典数据赋值给一个数组对象

 NSArray *dicArray = [NSArrayarrayWithContentsOfFile:[[NSBundlemainBundle]pathForResource:@"app.plist"ofType:nil]];


/**

*将dictArray中所有字典转为模型对象,首先定义一个可变数组,用来保存字典对象

*/

NSMutableArray*appArray = [NSMutableArray array];

/**

*利用for in遍历数组的字典元素

*/

   for (NSDictionary * dictin dicArray) {

//类方法,将字典元素赋值给app对象

            CZAppModel * app = [CZAppModelappWithDict:dict];

//将app对象赋值给tempArray临时的可变数组

           [tempArray addObject:app];

        }

        _apps = tempArray;

    }

//最后返回

    return_apps;


@end

我们可以简单理解为:把之前的数组中的字典抽取出来,创建模型对象,然后把这些模型放到一个新的数组中,通过调用这个数组,进而使用其中的模型。

0 0
原创粉丝点击