Trong ứng dụng iOS của tôi, tôi đang thực hiện một số công việc trong một chủ đề nền (sử dụng performSelectorInBackground
). Trong chủ đề này, tôi đang sử dụng NSJSONSerialization và phương pháp lớp học để phân tích một chuỗi JSON:Phương pháp lớp và an toàn chủ đề (NSJSONSerialization)
self.json = [NSJSONSerialization JSONObjectWithData:self.data options:0 error:nil];
Đây có phải là phương pháp lớp (JSONObjectWithData
) chủ đề an toàn không? Tôi có thể chắc chắn về điều này không? Nó được viết ở đâu trong tài liệu?
Tôi biết rằng các phương pháp thể hiện thường là không an toàn chủ đề trừ khi tài liệu cho biết. Tôi có thể nói chung rằng các phương thức lớp học là an toàn chủ đề, trừ khi được chỉ định khác?
Cách tốt nhất là làm cho hoạt động song song trên [NSJSONSerialization JSONObjectWithData:] gọi, và xem nếu bạn có vấn đề reentrancy. Nếu không ai nói với bạn rằng đó là chủ đề an toàn, thì nó không phải là chủ đề an toàn;) –
Thật không may có vẻ như tài liệu mô tả an toàn luồng chưa được cập nhật để hiển thị 'NSJSONSerialization'. http://developer.apple.com/library/ios/#Documentation/Cocoa/Conceptual/Multithreading/ThreadSafetySummary/ThreadSafetySummary.html –
Bạn muốn sử dụng self.json, nếu bạn làm cho chuỗi đó an toàn thì nó có hoạt động không? – Exploring