Jea*_*ean 39 objective-c automatic-ref-counting
当尝试使用-retain
,-release
并-dealloc
在使用Xcode 4.2中的自动引用计数构建我的应用程序时,我收到如下错误:
自动引用计数禁止'dealloc'的显式消息发送
为什么我看到这个错误?在自动引用计数下是否-retain
,-release
并且-dealloc
不再允许这样做?
Dav*_*ong 67
基本上:
使用ARC时,它是全有或全无.编译器是为您管理所有retainins/release/deallocs,或者它什么都不做.你不能穿插自己的调用,因为编译器希望自己完成所有操作.它可以通过执行此操作进行荒谬的优化(例如,在手动内存管理下返回自动释放对象的方法现在可能会生成一个永远不会在自动释放池中结束的对象).如果你开始使用自己的调用来保留和释放,那么编译器必须使用这些并且无法执行它想要的许多优化(并且你应该想要).
作为额外的奖励,调用-retainCount
现在是一个编译器错误!OH HAPPY DAY!
归档时间: |
|
查看次数: |
26987 次 |
最近记录: |