您是否需要在iOS 6.0中释放ARC下的GCD队列?
发布时间:2020-12-15 02:04:43 所属栏目:百科 来源:网络整理
导读:遵循Paul Hegarty课程的iOS 5教程,我们在一个演示使用GCD的应用程序中看到这个代码。显然,GCD需要发布,因为与多线程有关的问题在某些对象仍然需要时有些不可预测。 dispatch_async(dowloadQueue,^{ .... // do some stuff .... }); dispatch_release(dowl
遵循Paul Hegarty课程的iOS 5教程,我们在一个演示使用GCD的应用程序中看到这个代码。显然,GCD需要发布,因为与多线程有关的问题在某些对象仍然需要时有些不可预测。
dispatch_async(dowloadQueue,^{ .... // do some stuff .... }); dispatch_release(dowloadQueue); 我已经升级到iOS 6和XCode 4.5,我得到了 我没有尝试这个代码在iOS5 / XCode 4.2下 这是因为ARC更聪明,我不再需要在GCD中发行吗? 解决方法
当您瞄准Mountain Lion和iOS 6.0时,ARC现在将为您管理调度队列和其他GCD类型。如果您定位早期版本的OS X或iOS,您仍然需要明确保留和释放GCD类型(不仅仅是为了线程安全的原因,否则会泄漏内存),但是只有在针对较新的操作系统时才会为您处理版本。
这就是为什么在定位iOS 6.0时会在ARC下看到这样的编译器错误。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |