【加载plist文件展示单组数据 Objective-C语言】

一、接下来,我们要为大家演示如何通过加载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;

英雄

有了这个以后,接下来,我们就是开

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清风清晨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值