相关疑难解决方法(0)

什么是autoreleasepool?

可能重复:
为什么要使用自动释放池?

将打开所有Objective-C起始页面,其中包含@autoreleasepool{...}main函数声明下的默认语句.但这句话到底在做什么呢?新的Objective-C自动释放对象并删除该行不会对程序产生任何影响.这个命令真的有必要吗?

release object objective-c autorelease nsautoreleasepool

58
推荐指数
1
解决办法
5万
查看次数

没有ARC的@autoreleasepool?

我是Xcode 4.2的新手,我还没有完全掌握ARC的速度.但是,我确实读到@autoreleasepool取代了自动释放池的手动使用,并且在引擎盖下做了一些特殊的魔法来与ARC玩得很好.

然而,当我在Xcode 4.2中启动一个新项目时,特别关闭了ARC选项,我仍然在模板代码中获得了@autoreleasepool语句.

这是什么交易?

xcode xcode4.2 automatic-ref-counting

31
推荐指数
1
解决办法
2万
查看次数

NSAutoreleasePool和@autoreleasepool块有什么区别?

我想知道NSAutoreleasePool和@autoreleasepool block之间有什么区别.我已经经历了一些问题,但没有得到任何令人满意的答案.到目前为止我才知道在ARC中我们不能使用NSAutoreleasePool和@autoreleasepool在这两种ARC enabled and disabled情况下都可以使用块.因此,它们在内部是不同的,以这种方式表现.

是否有必要在禁用弧的环境中释放对象,即使我们使用的是NSAutoreleasePool或@autoreleasepool块,或者它们会自动执行?还有,如果ARC自动释放内存,那么为什么我们使用@autoreleasepool block.Please给我一个简短的概述用例子.

memory-management objective-c nsautoreleasepool ios

12
推荐指数
1
解决办法
5667
查看次数