Bean对象封装,数据分离
2015-06-18 20:45
393 查看
#import <Foundation/Foundation.h> #import <UIKit/UIKit.h> @interface Bean : NSObject @property (nonatomic,copy) NSString *dec; @property (nonatomic,copy) NSString *pageCount; @property (nonatomic,copy) NSString *imageName; @property (nonatomic,strong) UIImage *image; -(instancetype)initWithDict:(NSDictionary *) dict; /** * 快速创建对象,赋值对象 * * @param dict <#dict description#> * * @return <#return value description#> */ +(instancetype)initBean:(NSDictionary *) dict; +(NSArray *)appList; @end
#import "Bean.h" @implementation Bean -(UIImage *)image{ if(_image==nil){ _image=[UIImage imageNamed:self.imageName]; } return _image; } -(instancetype) initWithDict:(NSDictionary *)dict{ self=[super init]; if(self){ //方法1 // self.dec=dict[@"dec"]; // self.pageCount=dict[@"id"]; // self.imageName=dict[@"imageName"]; //方法2 // [self setValue:dict[@"dec"] forKey:@"dec"]; // [self setValue:dict[@"pageCount"] forKey:@"pageCount"]; // [self setValue:dict[@"imageName"] forKey:@"imageName"]; //方法3 [self setValuesForKeysWithDictionary:dict]; } return self; } +(instancetype)initBean :(NSDictionary *)dict{ return [[self alloc] initWithDict:dict]; } //优化代码 +(NSArray *)appList{//懒加载 NSString *path= [[NSBundle mainBundle] pathForResource:@"app.plist" ofType:nil]; //2.获取plist 赋值到数组 NSArray *array=[NSArray arrayWithContentsOfFile:path] ; //3.创建一个临时???数组 NSMutableArray *arrayM =[NSMutableArray array]; //4.遍历 for (NSDictionary *dict in array) { //5.赋值 // Bean *bean = [Bean initBean:dict]; //6.增加到临时???数组 [arrayM addObject:[Bean initBean:dict]]; } return arrayM; } @end
相关文章推荐
- win8下uboot启动卡制作
- 分布式版本管理git学习资料整理推荐
- 第15周上机实践项目1——用二进制文件处理学生成绩
- UVA 156 Ananagrams
- 黑马程序员——集合框架
- startActivityForResult和setResult详解
- 创世纪
- 自学Lua(1)--Lua语法特点
- 关于nginx配置的不完全总结
- OC10_数组的内存管理
- Redis命令学习-Set(集合)
- 在Ubuntu系统中搭建本地openstack(icehouse)源
- 深入理解学习Git工作流
- 夕甲甲——孔乙己之C++版
- OC9_字符串的内存管理
- Java-马士兵设计模式学习笔记-工厂模式-模拟Spring读取Properties文件
- Java知多少(96)绘图之设置字型和颜色
- 黑马程序员--extern与函数分析
- 焦点图片效果
- OC8_setter方法展开