是什么
思路:
- 显示数据
-
需要准备什么?
plist文件
, 图片,导入MJExtension
框架。 -
将
plist文件
的数据,加载到集合里。- 数据全部在
plist文件
中,所以要先要将数据取出来.- 获取
plist
文件路径.
[[NSBundle mainBundle] pathForResource..
- 指定文件中,读取
plist
文件内容.
[NSArray arrayWithContentsOfFile:....]
- 可以使用框架完成以上步骤。
MJExtension
- 获取
- 加载出来,拿什么来装载呢? (指定类型的集合)
- 为什么是类型?
- 在
plist
文件里,每个Item
其实都可以看做是一个"对象"。
所以可以将Item
当成一个"类",类里面的属性,就是Item
里面的元素。
这样方便,后期要调用某个元素时,直接"类.属性名"就可以! 而且不会出现拼写错误。
- 在
- 为什么是集合?
- 在
plist
文件里面有很多个Item
,要将这些这些Item
都存放起来,则需要个可存放着类型的集合。
@property (nonatomic, strong) NSArray<Wine *> *wineData;
- 在
- 为什么是类型?
- 使用"懒加载+ MJExtension" 完成:
取出plist
数据, "字典-->模型", 模型存放到集合
懒加载的好处: 用到时才加载,且只加载一次
- 数据全部在
-
根据
plist
文件创建模型.
-
WineCell
需要:- 添加"模型类属性", 方便在VC中调用模型。
- 重写"模型类属性"的
set
方法, 给cell
的子控件,设置数据。 - 为什么
setWine
中需要写_wine = wine
? (_wine
成员变量)
因为他人调用时,有时候,不写self.wine
会直接写_wine
-
ViewController
需要:-
懒加载,将
plist
文件的数据取出,放入"模型集合"里。 - 调用
cell
的set方法
,将"模型集合"里面的数据,赋值给cell
的子控件。
cell.wine = self.wineData[indexPath.row];
-
懒加载,将
-
- 底部工具条完善
- 底部有个什么?
- 一根分隔线( 使用
height = 2
的UIView
来做分隔线)。 -
UIView
里面有2个按钮 + 3个label, 其中一个是 ¥
- 一根分隔线( 使用
- 层次结构
- 底部有个什么?
网友评论