2011-11-02 20 views
2

我注意到,当我创建基于ios5的项目时,没有在各种类文件中放置dealloc方法,但我记得有一个现成的dealloc方法放置在大多数这些文件在基于ios 4.3的项目中...... 是否意味着如果我没有释放分配的对象,将不会发生内存泄漏?或者我应该自己的dealloc方法?在基于ios5的项目中默认情况下不存在dealloc方法

回答

3

仅当您使用ARC时。我想这个改变对我们来说是密集的。如果你不这样做,你应该像以前一样执行dealloc。

+0

在XCode中是否有一个选项来为项目启用ARC?或者它需要编码? – JAHelia

+0

我不明白你为什么想要没有ARC,是否有理由避免使用它? –

+0

对ARC还不太了解.. – JAHelia

1

这是因为iOS 5项目,默认情况下已启用ARC。在支持ARC的项目中,所有版本,autoreleases和dealloc都是非法的。

+0

我还没有开始iOS 5的开发,编译器会发出警告吗?构建会失败?如果你有发布? – Osiris

+0

新项目ARC已经启用。对于具有手动内存管理的旧项目,可以升级使用ARC或仅从ARC中退出。看到这个:http://developer.apple.com/library/ios/#releasenotes/ObjectiveC/RN-TransitioningToARC/_index.html#//apple_ref/doc/uid/TP40011226 – Vin