一、接下来,我们要为大家演示如何通过加载plist文件,使用UITableView展示单组数据,
1.最后运行起来的效果,是一个什么效果呢,是这样一个效果:

2.这个里面,这就是一个单元格吧,

这就是一个单元格,
这个单元格里面,包括一个图片框、一个TextLabel、一个DetailLabel、一个指示器,
这个指示器的意思,告诉你说,这个是不是能点啊,
接下来,我们就给大家实现这么一个效果,手动加载plist文件,实现这么一个展示单组数据的效果,
3.新建一个项目,叫做“英雄展示”,
首先把我们的控制器,改成3.5英寸,模拟器也改成iPhone4S,
接下来,就是,我们要加载这个数据,既然我们要加载plist文件,首先是不是得有这个plist文件啊,
好,把我们这个plist文件,拖到项目中,SupportingFiles文件夹下,
这是我们的图片素材,

接下来,我们就把这两个素材都拷进来,
接下来,我们就来实现一下这个效果,
怎么实现呢,我们先观察一下这个plist文件,整体是个什么结构,

整体是一个Array吧,是一个数组,每一个元素是一个Dictionary吧,是一个字典,
来,打开第一个字典

第一个字典中,有几个键值对,3个吧,分别是
1)icon,
2)intro,
3)name,
第二个元素里面,也是icon、intro、name,三个键值对吧,
好了,我们观察了这个以后,接下来,就来进行懒加载了吧,
二、懒加载,
1.懒加载的时候,发现这里有字典,所以说,我们首先要干什么,是不是写一个模型啊,写一个模型,用来描述这个字典吧,再来就要把字典转模型,
所以还是第一步,创建模型,第二步,懒加载,先把这两步搞定,
2.创建模型,
这个模型是用来表示什么,
1)一个英雄的图片,icon
2)一个英雄的描述,intro
3)一个英雄的名称,name
这是表示一个英雄,所以这个模型就是一个英雄模型,先给它设置一个这个前缀CZ,
然后,这里我们给它创建一个英雄,hero,

然后,因为这个英雄字典里面有icon、intro、name,三个都是什么类型,String类型吧,

所以,我们这里给这个英雄模型,创建三个属性,icon、intro、name,
intro,就是介绍吧,就是描述、简介
icon,就是头像,
name,就是名字,
好,现在我们有这三个属性了吧,有属性以后,是不是要封装两个方法,
4.封装两个方法,

- (instancetype)initWithDict:(NSDictionary *)dict;
+ (instancetype)heroWithDict:(NSDictionary *)dict;
然后呢,实现一下这两个方法,
- (instancetype)initWithDict:(NSDictionary *)dict{
if(self = [super init]){
//如果,self,把super init这个值是不是赋值给这个self啊,
}
//然后,我们就return 这个self 吧,
return self;
}
我们说,在我们这个plist文件里,每一个元素,是不是就是一个字典啊,
所以说,我们这里,拿到这个以后,直接可以调setValuesForKeysWithDictionary,
是不是可以直接把字典中的每一个值是不是设置给那个模型啊,
所以可以直接把字典中的每一个元素设置给模型,
所以说,我们在这里,直接要什么啊,
- (instancetype)initWithDict:(NSDictionary *)dict{
if(self = [super init]){
[self setValuesForKeysWithDictionary:dict];
}
}

直接这么做,是不是就OK了,

这样的话,我们这个方法,就封装好了,然后再封装另外一个类的方法,加号,叫什么,
+ (instancetype)heroWithDict:(NSDictionary *)dict{
return [[self alloc] initWithDict:dict];
}

这样的话,我们这两个方法,是不是就封装好了,
2.好,然后进行懒加载,我们说,这个里面保存的每一个元素,就是一个英雄吧,每一个就是一个一个英雄,所以说,我们整体应该是一个英雄的集合,

英雄的集合,所以这个名字该怎么起?
@property(nonatomic,strong)NSArray *……
英雄的集合,所以这个名字该叫什么,
应该叫heros吧,
//保存英雄的集合
@property(nonatomic,strong)NSArray *heros;


本文详细介绍了如何使用Objective-C通过加载plist文件,展示UITableView的单组数据。首先创建一个英雄展示项目,将plist文件和图片素材加入到项目中。接着,创建一个模型来描述字典数据,并实现懒加载方法,将字典转换为模型对象。在UITableView中设置数据源对象,实现数据源方法,展示数据。最后通过设置代理方法实现不同行高,以区别奇偶行的高度效果。
1411

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



