iOS面向对象的建模:MVC(OC基础)
- 本文转发至:http://www.cnblogs.com/tmf-4838/p/5294036.html
- 实例化一个类:从plist文件抽取出类
@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面向对象的建模:MVC(OC基础)的更多相关文章
- iOS开发系列--C语言之基础知识
概览 当前移动开发的趋势已经势不可挡,这个系列希望浅谈一下个人对IOS开发的一些见解,这个IOS系列计划从几个角度去说IOS开发: C语言 OC基础 IOS开发(iphone/ipad) Swift ...
- iOS 阶段学习第11天笔记(OC基础知识)
iOS学习(OC语言)知识点整理 一.OC基础知识 1)#import 用于导入头文件,预处理阶段加载引用,只加载一次. 2)OC 依赖于Foundation框架下的头文件Foundation.h, ...
- iOS开发OC基础:Xcode中常见英文总结,OC常见英文错误
在开发的过程中难免会遇到很多的错误,可是当看到系统给出的英文时,又不知道是什么意思.所以这篇文章总结了Xcode中常见的一些英文单词及词组,可以帮助初学的人快速了解给出的提示.多练习,就肯定能基本掌握 ...
- OC基础知识总结 分类: ios学习 OC 2015-06-26 17:58 58人阅读 评论(0) 收藏
//OC: Objective-C, 面向对象的C语言 //OC与C的区别 //1.OC是C的超集, C语言的所有语法都可以在OC中使用 //2.OC是面向对象 //3.OC是一门运行时语言 //4. ...
- 《iOS开发指南:从零基础到App Store上架(第2版)》
<iOS开发指南:从零基础到App Store上架(第2版)> 基本信息 作者: 关东升 丛书名: 图灵原创 出版社:人民邮电出版社 ISBN:9787115348029 上架时间:201 ...
- OC基础笔记目录
OC基础(1) Objective-C简介 OC和C对比 第一个OC程序 面向对象思想 OC基础(2) 类与对象 类的设计 第一个OC类 对象方法的声明和实现 类方法的声明和实现 OC基础(3) 对象 ...
- OC基础16:复制对象
"OC基础"这个分类的文章是我在自学Stephen G.Kochan的<Objective-C程序设计第6版>过程中的笔记. 1.浅复制即是指针赋值,复制对象的修改会影 ...
- OC基础8:分类和协议
"OC基础"这个分类的文章是我在自学Stephen G.Kochan的<Objective-C程序设计第6版>过程中的笔记. 1.关于分类(category): (1) ...
- OC基础回想(十二)协议
在OC基础(十一)中我们讨论了类别和非正式协议的奇异之处.在使用非正式协议时.能够仅仅实现你想要获得响应的方法.也不必在对象中声明不论什么内容来表示该对象可用作托付对象. 全部这些任务能够用最少的代码 ...
随机推荐
- s7-300 第二讲
- Inno Setup入门(十五)——Inno Setup类参考(1)
分类: Install Setup 2013-02-02 11:27 536人阅读 评论(0) 收藏 举报 nno setup脚本能够支持许多的类,这些类使得安装程序的功能得到很大的加强,通过对这些类 ...
- .Net日期处理之格式化
一.默认格式 2015/9/3 9:04:31 二.格式2 2015年9月3日 9:28:51 三.格式3 2015年9月3日 9:31 四.格式4 2015/9/3 9:39:01 五.格式5 20 ...
- 将undefault和null的数据转换成bool类型的数据 使用!!
<script> var o={}; var a=null; console.info(!!o.name); </script> 输出false 此方法是将undefault和 ...
- 快速玩转Apple Pay开发
快速玩转Apple Pay开发 更新时间:2016年02月20日09时25分 来源:传智播客 Apple Pay 2016年2月18日上午,苹果公司宣布,与中国银联达成合作,正式在中国大陆上线Appl ...
- JSTL判断list的size()大小
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@ tag ...
- Tomcat服务器
常见的web服务器 1. WebLogic是BEA公司的产品,是目前应用最广泛的web服务器,支持J2EE规范(J2EE里有13种技术),商业产品,收费的.银行,证券等对并发,安全要求高的时候用,一般 ...
- [转]Android 导入v7包常见错误,以及项目引用v7包错误解决
android下v4 v7 v21等包是android系统的扩展支持包,就想windows的系统补丁一个道理. android的扩展包主要是用来兼容低版本的,比如android3.0以后出现 ...
- IE6下整站的bug详解
<1>文字不居中:加一个行高: <2>png文件作为背景不显示: <!--[if IE 6]> <script src="js/DD_belated ...
- 对于IE6版本图片透明。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...