我声明了一个引用 GCD 队列的属性:
@property (assign) dispatch_queue_t backgroundQueue;
在一个类的 init 方法中,我创建了一个串行队列:
backgroundQueue = dispatch_queue_create("com.company.app", DISPATCH_QUEUE_SERIAL);
ARC 抱怨:“将保留对象分配给 unsafe_unretained 变量;分配后对象将被释放”
我必须使用 __bridge_transfer 吗?
在 -dealloc 我释放队列:
dispatch_release(backgroundQueue);
再次,ARC 抱怨:“ARC 禁止发送明确的‘release’消息”
我觉得这很令人困惑,因为这是一个 C 函数调用,并且认为队列是 C 对象,我必须自己负责内存管理!从什么时候开始 ARC 为我处理 C 对象?