Kính gửi những người tốt của stackoverflow,NSDefaultRunLoopMode vs NSRunLoopCommonMode
Giống như lần cuối cùng, tôi đưa ra một câu hỏi mà tôi vừa mới vấp ngã. Tôi hy vọng có ai đó ở đó có thể làm sáng tỏ tôi.
Bất cứ khi nào tôi cố gắng tải xuống tệp lớn sau UIScrollView
, MPMapView
hoặc một cái gì đó, quá trình tải xuống sẽ bị tạm dừng ngay sau khi tôi chạm vào màn hình iPhone. Rất may, một bài đăng trên blog tuyệt vời theo số Jörn đề xuất một tùy chọn thay thế, sử dụng NSRunLoopCommonModes
để kết nối.
Đó được tôi nhìn vào chi tiết của hai chế độ, NSDefaultRunLoopMode và NSRunLoopCommonModes, nhưng tài liệu táo không vui lòng giải thích, khác hơn là nói
NSDefaultRunLoopMode
Phương thức để đối phó với các nguồn đầu vào khác hơn đối tượng NSConnection. Đây là chế độ chạy vòng lặp thường được sử dụng nhất.
NSRunLoopCommonModes
Đối tượng được bổ sung vào một vòng lặp chạy sử dụng giá trị này là chế độ được theo dõi bởi tất cả các chế độ chạy vòng lặp đã được khai báo là một thành viên của tập hợp các phương thức “phổ biến", xem Mô tả của CFRunLoopAddCommonMode để biết chi tiết.
CFRunLoopAddCommonMode
Nguồn, hẹn giờ s, và các nhà quan sát được đăng ký một hoặc nhiều chế độ vòng lặp chạy và chỉ chạy khi vòng lặp chạy đang chạy ở một trong các chế độ đó. Các chế độ chung là một tập hợp các chế độ vòng lặp chạy mà bạn có thể xác định một tập hợp các nguồn, bộ hẹn giờ và các nhà quan sát được chia sẻ bởi các chế độ này. Thay vì đăng ký một nguồn, ví dụ, với từng chế độ vòng lặp chạy cụ thể, bạn có thể đăng ký nó một lần cho chế độ giả thông thường của vòng lặp chạy và nó sẽ tự động được đăng ký trong mỗi chế độ vòng lặp chạy trong tập chế độ chung. Tương tự như vậy, khi một chế độ được thêm vào tập hợp các chế độ chung, bất kỳ nguồn, bộ hẹn giờ hoặc người quan sát nào đã được đăng ký cho chế độ giả thông thường sẽ được thêm vào chế độ chung mới được thêm vào.
Có ai vui lòng giải thích hai bằng ngôn ngữ của con người không?
Kính gửi Viggio24, cảm ơn bạn rất nhiều vì lời giải thích chính xác, rõ ràng này. Tôi sẽ yêu cầu Apple đưa nhận xét của bạn vào hướng dẫn API của họ. ;) – Stkim1
Tôi upvoted câu trả lời của bạn bởi vì là hoàn toàn rõ ràng !! Cảm ơn bạn đã chia sẻ kiến thức của mình. Câu trả lời của –
** viggio24 ** là hoàn hảo. Đối với những người quan tâm, tôi sẽ chỉ ra rằng ** Phiên 208 (Ứng dụng mạng cho hệ điều hành iPhone, Phần 2) ** từ WWDC 2010 chứa phần giới thiệu trên các vòng chạy. Nếu bạn quan tâm hãy xem. Hy vọng nó giúp. –