iOS之OC面向对象的建模:MVC
2016-03-18 23:10
537 查看
实例化一个类:从plist文件抽取出类
使用字典作为自定义构造器的参数
存储对象的不仅仅可以是该类的指针
把plist文件实例化最大的好处:数据处理创建对应对象,取值操作数据变得很easy
实例化对象后,不需要考虑plist文件格式,只需要找对应实例取值就OK
注意:
因为所有的数据都被实例化到一个集合,如果分区的话,每个区取值都是从0开始\
因此这里使用实例化对象是得不到分区以及分区索引的:使用属性都在一个集合
字典有时候更适合,不要思维定式为集合首选(面向对象的思想)
@interface Person : NSObject // 实例化对象(抽取出类) @property (nonatomic, strong)NSString *name; @property (nonatomic, strong)NSString *tel; @property (nonatomic, strong)NSString *pic; // 遍历初始化(参数是字典) - (Person *)initWithDictionary:(NSDictionary *)dic; + (Person *)personWithDictionary:(NSDictionary *)dic; @end
使用字典作为自定义构造器的参数
#import "Person.h" @implementation Person // 自定义构造器 - (Person *)initWithDictionary:(NSDictionary *)dic { if (self = [super init]) { _name = dic[@"name"]; _tel = dic[@"tel"]; _pic = dic[@"pic"]; } return self; } // 类工厂方法 + (Person *)personWithDictionary:(NSDictionary *)dic { return [[self alloc] initWithDictionary:dic]; } @end
存储对象的不仅仅可以是该类的指针
把plist文件实例化最大的好处:数据处理创建对应对象,取值操作数据变得很easy
实例化对象后,不需要考虑plist文件格式,只需要找对应实例取值就OK
注意:
因为所有的数据都被实例化到一个集合,如果分区的话,每个区取值都是从0开始\
因此这里使用实例化对象是得不到分区以及分区索引的:使用属性都在一个集合
字典有时候更适合,不要思维定式为集合首选(面向对象的思想)
// 初始化动态集合 self.arrPerson = [NSMutableArray array]; // 实例化该plist抽取出类的对象:通过字典赋值 for (NSString *key in self.arrSection) { // 遍历字典所有value得到的是集合 for (NSDictionary *dic in self.dicData[key]) { // 遍历该集合得到的每个人对象的信息(字典)\ 集合存储对象(对象的存储不仅仅局限于该类的指针) [self.arrPerson addObject:[Person personWithDictionary:dic]]; } } // 测试数据存在 NSLog(@"存储的任意对象key为name = %@", [self.arrPerson[12] name]);
相关文章推荐
- iOS下bound,center和frame
- iOS各版本特性
- IOS NavigitionController导航栏的基本设置
- iOS个人整理29-JSON与xml文件解析
- iOS--AVFoundation原生二维码与一维码扫描
- iOS程序安装格式
- iOS基本动画
- iOS 开发 入门:使用Ad Hoc 进行用户测试
- iOS第三方库AFNetworking、SDWebImage
- iOS-绘图(Quartz2D)的简单使用(原创)
- IOS开源库一览表
- iOS获取系统短信,发送指定短信内容
- iOS中frame和bounds的区别
- iOSDay10之OC类和对象
- 浅谈ios异步加载
- iOS/mac开发的一些知名个人博客
- IOS SDWebImage实现原理详解
- iOS设置tabbar的显示之 imageWithRenderingMode:
- iOS 开发 发布 证书 详细说明
- HZCoreMannger 使用一句话调用工具类,对数据进行操作