摘要:
本文由易飞扬的博客出品,泰然授权转载,如需转载请联系原版权方。原文链接:http://www.yifeiyang.net/development-of-the-iphone-simply-2/自 Xcode4.2 开始导入ARC机制后,为了支持对象间的转型,Apple又增加了许多转型用的关键字。这一讲我们就来了解其用法,以及产生的理由。引子我们先来看一下ARC无效的时候,我们写id类型转void*类型的写法:id obj = [[NSObject alloc] init];void *p = obj;反过来,当把void*对象变回id类型时,只是简单地如下来写,id obj = p;[obj 阅读全文
posted @ 2012-09-13 16:30
jackljf
阅读(132)
评论(0)
推荐(0)
摘要:
本文由易飞扬的博客出品,泰然授权转载,如需转载请联系原版权方。原文链接:http://www.yifeiyang.net/development-of-the-iphone-simply-5/使用weak property声明Outlet当我们使用 Interface Builder 生成Outlet对象的时候,一般都是作为 subview 来使用的。比如 UIViewController 的view。所以说Outlet的持有者就是superview对象,即有“父子”关系。由上一回iPhone开发之深入浅出 (4) — ARC之循环参照我们知道,当对象间有“父子”关系时,需要使用弱参照,以避免 阅读全文
posted @ 2012-09-13 16:30
jackljf
阅读(154)
评论(0)
推荐(0)
摘要:
本文由易飞扬的博客出品,泰然授权转载,如需转载请联系原版权方。原文链接:http://www.yifeiyang.net/development-of-the-iphone-simply-4/概念当我们使用强参照(Strong reference)时,往往需要留意循环参照的问题。循环参照指的是两个对象被互相强参照,以至于任一对象都不能释放。一般情况下,当对象之间有“父子关系”时,强参照的情况发生的比较多。比如通讯薄对象AddrBook和每个通讯录Entry的关系如下。这种情况下,由于Entry对象被AddrBook强参照,所以不能释放。另一方面,如果Entry被释放了,AddrBook对象的强 阅读全文
posted @ 2012-09-13 16:29
jackljf
阅读(139)
评论(0)
推荐(0)
摘要:
本文由易飞扬的博客出品,泰然授权转载,如需转载请联系原版权方。原文链接:http://www.yifeiyang.net/development-of-the-iphone-simply-3/前两节我们对 ARC(Automatic Reference Counting) 有了一个基本的理解,但是 ARC 是怎么产生的,为什么苹果要在其最新的 iOS/Mac OS X 上导入该框架? 如果不理解其背后的基本原理,只是死记硬背那些规则/方法,是毫无意义的。就像我们从小接受的填鸭式教育,基本上到后来都还给老师了。本节,我们先来看看 ARC 产生之前的 Objective-C 内存管理世界,然后再来 阅读全文
posted @ 2012-09-13 16:29
jackljf
阅读(140)
评论(0)
推荐(0)
摘要:
本文由易飞扬的博客出品,泰然授权转载,如需转载请联系原版权方。原文链接:http://www.yifeiyang.net/development-of-the-iphone-simply-2/上一回我们学到了一些ARC的基本概念,这一次我们来看看ARC对@property的使用规则有何影响。所有者属性我们先来看看与所有权有关系的属性,关键字间的对应关系。属性值关键字所有权strong__strong有weak__weak无unsafe_unretained__unsafe_unretained无copy__strong有assign__unsafe_unretained无retain__str 阅读全文
posted @ 2012-09-13 16:28
jackljf
阅读(124)
评论(0)
推荐(0)
摘要:
开篇:早就和易飞扬说过要转载他的这个出色的系列教程,感谢易飞扬的辛勤劳动,以及很多博客主对这个行业的贡献。(by Iven)原文链接:http://www.yifeiyang.net/development-of-the-iphone-simply-1/ARC是什么ARC是iOS 5推出的新功能,全称叫 ARC(Automatic Reference Counting)。简单地说,就是代码中自动加入了retain/release,原先需要手动添加的用来处理内存管理的引用计数的代码可以自动地由编译器完成了。该机能在 iOS 5/ Mac OS X 10.7 开始导入,利用 Xcode4.2 可以 阅读全文
posted @ 2012-09-13 16:28
jackljf
阅读(208)
评论(0)
推荐(0)