Tôi duy trì hàng đợi công văn là thuộc tính với bộ điều khiển chế độ xem của tôi. Tôi tạo hàng đợi này một lần trong phương thức init của trình điều khiển xem của tôi và sử dụng lại một vài lần cho một số tác vụ nền. Trước ARC, tôi đã làm điều này:Tôi nên sử dụng thuộc tính nào cho một Hàng đợi Công văn sau ARC?
@property (nonatomic, assign) dispatch_queue_t filterMainQueue;
Và trong init:
if (filterMainQueue == nil) {
filterMainQueue = dispatch_queue_create("com.myQueue.CJFilterMainQueue", NULL);
}
Nhưng sau ARC, tôi không chắc chắn nếu điều này vẫn cần được "gán", hoặc nó phải được "mạnh mẽ "hoặc" yếu ". Kịch bản chuyển đổi ARC không thay đổi bất cứ điều gì nhưng tôi không chắc chắn nếu một lỗi tinh tế đến từ thực tế là hàng đợi này có thể được deallocated trong khi nó đang được sử dụng?
Điều gì sẽ là sự khác biệt giữa 3 loại thuộc tính và điều gì sẽ phù hợp nhất với hàng đợi công văn khi sử dụng ARC?
@JimThio: [Grand Central Dispatch] (http://developer.apple.com/library/ios/#documentation/Performance/Reference/GCD_libdispatch_Ref/Reference/reference.html) –
Điều này không còn đúng trong Mountain Lion - xem /usr/include/os/object.h. GCD và XPC "đối tượng" (bất cứ điều gì bạn có thể phát hành rõ ràng) bây giờ cư xử đủ giống như các đối tượng ObjC mà họ có thể tham gia vào ARC. – jkh
@jkh cũng bao gồm nền tảng iOS? – Ankur