gpt4 book ai didi

ios - GCD dispatch_queue_t as ivar - 内存管理?

转载 作者:行者123 更新时间:2023-12-01 17:01:31 25 4
gpt4 key购买 nike

我正在创建一个 GCD 调度队列来异步处理创建和保存新的托管对象。

首先,是否有必要将其创建为实例变量?假设我有一个(假设的)方法-newObjectWithProperties: ,我在本地创建了带有标签 "com.myapp.coredata" 的队列.下次我调用 -newObjectWithProperties:并重新创建具有相同标签的队列,但是该队列上的先前后台任务仍然不完整,该队列的本地“重新创建”是否对应于相同的实际队列?还是会抛出异常?如果是后者,那么我认为队列需要一个类范围的实例变量。

假设需要 ivar,应该如何处理内存管理?我想我会使用 dispatch_queue_create()-init ,然后只需调用 dispatch_release()-dealloc ?

最佳答案

我做了类似的事情,但我创建了一次队列,并在我需要调度后台任务的任何时候重用该队列。队列在第一次需要时创建(不在 init 中)并存储在 ivar 中,然后在 dealloc 中销毁。

关于ios - GCD dispatch_queue_t as ivar - 内存管理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6486754/

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