我使用视图控制器维护调度队列作为属性.我在视图控制器的init方法中创建了一次这个队列,并在一些后台任务中重复使用了几次.在ARC之前,我是这样做的:
@property (nonatomic, assign) dispatch_queue_t filterMainQueue;
在init中:
if (filterMainQueue == nil) {
filterMainQueue = dispatch_queue_create("com.myQueue.CJFilterMainQueue", NULL);
}
但在ARC之后,我不确定这是否仍然应该是"分配",还是应该是"强"还是"弱".ARC convertor脚本没有改变任何东西,但我不确定这个队列在使用过程中可能会被释放,这是否是一个微妙的错误?
使用ARC时,这三种类型的属性之间的区别是什么?对于调度队列,哪种类型的属性最有效?