objective-c – Objective C @autoreleasepool指令
发布时间:2020-12-16 10:22:58 所属栏目:百科 来源:网络整理
导读:我正在读一本书(如果我没有弄错的话)用@autoreleasepool语句包装一些代码启用ARC.首先是这种情况? 我的第二个问题是当我在做一些iOS示例程序时,虽然我在创建一个新项目时启用了ARC,但我从未在任何地方看到过这个指令(在自动生成的代码中).这是否意味着ARC没
我正在读一本书(如果我没有弄错的话)用@autoreleasepool语句包装一些代码启用ARC.首先是这种情况?
我的第二个问题是当我在做一些iOS示例程序时,虽然我在创建一个新项目时启用了ARC,但我从未在任何地方看到过这个指令(在自动生成的代码中).这是否意味着ARC没有被使用?任何想法/指针都表示赞赏. 解决方法
@autoreleasepool不会“启用”ARC.这只是ARC使用自动释放池的方式.
在ARC之前,您使用 NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; // Code benefitting from a local autorelease pool. [pool release]; 但是在使用ARC时不允许调用release,因此引入了一种使用自动释放池的新方法: @autoreleasepool { // Code benefitting from a local autorelease pool. } @autoreleasepool块比直接使用NSAutoreleasePool实例更有效;即使您不使用ARC,也可以使用它们. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |