iOS开发基础-九宫格坐标(6)

  继续对iOS开发基础-九宫格坐标(5)中的代码进行优化。

  优化思路:把字典转模型部分的数据处理操作也拿到模型类中去实现,即将 ViewController 类实现中 apps 方法搬到 WJQAppInfo 类实现。

 

实例代码

  在 WJQAppInfo.h 中添加一个向外公开的接口,其返回处理好的模型数组,方法定义如下:

+ (NSArray *)appInfoArray;

  实现代码如下:

 1 //WJQAppInfo.m。将数据处理部分搬到模型类中进行处理
 2 + (NSArray *)appInfoArray {
 3     NSString *path = [[NSBundle mainBundle] pathForResource:@"Data" ofType:@"plist"];
 4     NSArray *arrayM = [NSArray arrayWithContentsOfFile:path];
 5     
 6     NSMutableArray *appInfoArray = [NSMutableArray array];
 7     for (NSDictionary *dict in arrayM) {
 8         [appInfoArray addObject:[WJQAppInfo appInfoWithDict:dict]];
 9     }
10     return appInfoArray;
11 }

 

  此时, ViewController 视图控制器就不再需要关心数据处理的内部细节了,只负责模型和视图之间的交互。修改属性 apps 的 getter 方法:

1 //Viewcontroller.m
2 - (NSArray *)apps {
3     if (!_apps) {
4         _apps = [WJQAppInfo appInfoArray];
5     }
6     return _apps;
7 }

 

参考博客:iOS开发UI篇—从代码的逐步优化看MVC

实例代码:http://pan.baidu.com/s/1dEi2qE9

 

posted @ 2016-01-16 13:56  pestle  阅读(222)  评论(0编辑  收藏  举报