gpt4 book ai didi

ios - iOS 6.0 ARC下需要释放GCD队列吗?

转载 作者:IT王子 更新时间:2023-10-29 08:05:37 24 4
gpt4 key购买 nike

在 Paul Hegarty 类(class)的 iOS 5 教程之后,我们在演示 GCD 使用的应用程序中看到了这段代码。显然 GCD 需要发布,因为与多线程有关的问题在仍然需要哪些对象方面有些不可预测。

  dispatch_async(dowloadQueue, ^{
....
// do some stuff
....
});
dispatch_release(dowloadQueue);

我已经升级到 iOS 6 和 XCode 4.5,我得到了一个 “ARC 禁止显式发布……”消息

我没有在 iOS5/XCode 4.2 下尝试这段代码

这只是因为 ARC 变得更聪明了,我不再需要在 GCD 中发布了吗?还是我误会了?

最佳答案

当您以 Mountain Lion 和 iOS 6.0 为目标时,ARC 现在将为您管理调度队列和其他 GCD 类型。如果你的目标是早期版本的 OS X 或 iOS,你仍然需要显式保留和释放 GCD 类型(不仅仅是出于线程安全原因,否则你会泄漏内存),但是当只针对较新的操作系统时,这是为你处理的版本。

这就是为什么在以 iOS 6.0 为目标时,您会在 ARC 下看到这样的编译器错误。

关于ios - iOS 6.0 ARC下需要释放GCD队列吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12730202/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com