摘要: 在 iOS 中,有很多途径可以将对象写入磁盘,其中最重要的一种途径是“固化”(archiving):固化是将单个或多个对象从内存写入文件系统的过程。“解固”(unarchiving)是从文件读取对象并写回内存。固化可以通过 NSCoder 实例来完成, NSCoder 实例本身就是一个数据容器,可以存放对象和对象的数据,一旦 NSCoder 收集齐所需的数据,就可以将其写入指定的文件系统中的文件。不是所有对象都可以固化 - 只有遵守 NSCoding 协议的对象才可以。NSCoding 协议有两个方法(都是必须的方法):encodeWithCoder:(固化用);initWithCoder(解 阅读全文
posted @ 2013-08-20 15:46 Dayw 阅读(952) 评论(0) 推荐(0) 编辑
摘要: 部分转帖自:http://www.uml.org.cn/mobiledev/201209211.asp一、IOS沙盒机制概述:IOS应用程序只能在为该改程序创建的文件系统中读取文件,不可以去其它地方访问,此区域被成为沙盒,所以所有的非代码文件都要保存在此,例如图像,图标,声音,映像,属性列表,文本文件等。1.1、每个应用程序都有自己的存储空间1.2、应用程序不能翻过自己的围墙去访问别的存储空间的内容1.3、应用程序请求的数据都要通过权限检测,假如不符合条件的话,不会被放行。通过这张图只能从表层上理解sandbox是一种安全体系,应用程序的所有操作都要通过这个体系来执行,其中核心内容是:sand 阅读全文
posted @ 2013-08-20 12:24 Dayw 阅读(618) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2013-08-14 14:25 Dayw 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 转帖地址:http://www.zhihu.com/question/20016551我当时刚学iOS开发的时候一样的感觉 总想知道原理 内部怎么回事 感觉在像在雾里但是iOS开发就是这样 他是封闭的 本身就是在雾里...关于iOS开发的学习 打个比方就像把汽车分解最底层的原料有塑料 钢铁再用这些底层的东西造出来发动机 座椅最后再加上写螺丝 胶水等 把汽车就拼起来了iOS基本都是英文的资料 也由于封闭 文档写的相当好在遇到新框架的时候弄明白框架的功能去文档里搜搜 框架的 Programming Guide 很有用要弄明白框架类的继承结构写iOS的程序不一定都是用OBJC 很多框架是用C写的学习 阅读全文
posted @ 2013-08-14 13:53 Dayw 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 这篇文章介绍了Objective-C比较底层的内容,主要讲解initialize和init方法的区别。从这篇文章中我们不光可以了解Objective-C在初始化时所做的事情,更可以学习到一些如何研究Objective-C语言内部到底做了什么的方法,这样你也可以自己对更深层次的内容进行探寻。原文地址:http://kupuk.com/2008/03/23/objective-c-initialize-method/作者:Paul RobinsonObjective-C很有趣的一个地方是,它非常非常像C。实际上,它就是C语言加上一些其他扩展和一个运行时间(runtime)。有了这个在每个Objec 阅读全文
posted @ 2013-08-02 14:42 Dayw 阅读(218) 评论(0) 推荐(0) 编辑
摘要: [[类名 alloc] init]; 向类发送 alloc 方法,创建该类的实例并得到指向该实例的指针;之后向创建的该实例发送 init 消息,为实例变量初始化。init, initWithStyle, initWithNibName ...很多类有多个初始化方法,能以不同的形势初始化对象,每个初始化方法都以 init 开头(iOS 的命名约定)。所有的类,无论有多少个初始化方法,都必须选定一个作为“指定初始化方法” ,以 NSObject 为例,因为只有一个初始化方法 init ,所以 init 就是指定初始化方法也可以自定义类的初始化方法,例如 - (id)initWithObjectNa 阅读全文
posted @ 2013-08-02 12:38 Dayw 阅读(1283) 评论(0) 推荐(0) 编辑
摘要: 一, 需要先从 Apple 公司得到一份开发者证书(developer certificate),才能将应用装入开发用的设备中进行测试。 已经注册的 iOS 开发者 ( $99)都可以得到 Apple 公司签发的开发者证书,通过该证书可以为代码“签名”,使之能在设备上运行;没有有效的证书,应用无法在设备上运行二,Apple 网站 (http://developer.apple.com/iphone)列由获得有效证书所需的所有说明和资源,可参考 Apple 的详尽步骤指南:Development Provisioning Assistant,按照次步骤流程执行,结束时,应该能将所需的证书加入钥. 阅读全文
posted @ 2013-08-01 14:51 Dayw 阅读(451) 评论(0) 推荐(0) 编辑
摘要: 一 . 谁创建,谁释放(类似于“谁污染,谁治理”)。如果你通过alloc、new或copy来创建一个对象,那么你必须调用release或autorelease。二 . 函数中有返回的情形在一个函数中创建并返回对象,需要把这个对象设置为autoreleaseClassA*Func1(){ ClassA *obj = [[[ClassA alloc] init] autorelease]; return obj;}三 . 除了dealloc方法以外,始终用.操作符的方式来调用property。 self.objB或者objA.objB四 . 容器对象的内存管理 iOS中,容器对象对其内的... 阅读全文
posted @ 2013-07-31 17:50 Dayw 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 应用创建的每一个对象必定是以下对象的一种:模型对象,视图对象,控制器对象模型对象:负责存储数据,和用户界面无关;通常会使用标准 collection 类(NSArray,NSDictionary 和 NSSet)和标准数值类型(NSString,NSDate 和 NSNumber)。模型对象也可以是自定义类,类名通常和其对应的数据由很大关联。试图对象:主要负责用户界面。视图对象和模型对象是应用程序的“士兵” - 只专注执行特定的任务,例如 UILable 实例(视图对象),显示文本;NSString实例(模型对象)可以保存一个字符串。控制器对象:是应用程序种的“经理”,负责保持视图对象和模型对 阅读全文
posted @ 2013-07-31 16:25 Dayw 阅读(330) 评论(0) 推荐(0) 编辑
摘要: File's Owner : UIApplication 对象实例,负责管理应用的事件队列(event queue)。First Responder : 第一响应者,源自 Desktop Cocoa。AppDelegate : AppDelegate 实例,创建模版时由 Xcode 模版自动创建。Window : UIWindow 实例,代表应用的窗口。 阅读全文
posted @ 2013-07-31 15:59 Dayw 阅读(210) 评论(0) 推荐(0) 编辑