1
messense 2012-12-05 11:51:39 +08:00
我记得 Objective-C 用的是 reference count 而不是 garbage collection.
Xcode 4.5.2 肯定是支持 ARC (Automatic Reference Count) 的,几乎不必自己去 retain/release/autorelease 了,况且 ARC 开启的情况下是不允许手动 retain and etc. 的。要注意就的是 Cocoa 和 Core Foundation 之间转换的时候要用到 __bridge 什么的手动转换。 ARC 下还要注意的就是强引用循环的问题,尤其在使用 block 的时候。 |
2
Brutal 2012-12-05 11:53:47 +08:00
开启 ARC 后就不用手动 release 了。
然后要是引用了非 ARC 的库类,得需要 Build Phases 里设置一个 flag,具体搜一下就可以了。 LS 说的那个 __bridge Xcode 会提示的。 |
6
messense 2012-12-05 14:01:42 +08:00
|
7
ultragtx 2012-12-05 14:21:31 +08:00
1.Garbage Collection 貌似已经被水果废弃了,所以就算能用也不推荐用
2.内存管理参考文档的 Advanced Memory Management Programming Guide 3.ARC一个简单但不是非常准确的理解就是:帮你写[xxx release] 4.ARC不是万能的,感觉想躲过内存管理应该是不可能的。 推荐还是先看一眼内存管理,其实挺简单的,我学的时候还没ARC,不知道不懂内存管理直接用是什么感觉,反正懂内存管理再过渡到ARC也就是10分钟的事儿。 |
8
freewizard 2012-12-05 15:00:36 +08:00 1
@zythum Mac下的GC已经不推荐了,非要用问题也很多;iOS就压根没支持过GC。
ARC基本是首选了,除非要支持 iOS <=4 / OS X <=10.6 且用到了weak。 |