Bất cứ khi nào tôi cố gắng để tải về một tập tin đằng sau lớn UIScrollView
, MPMapView
hoặc một cái gì đó, quá trình tải bị dừng lại 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 của Jörn gợi ý một tùy chọn thay thế, sử dụng NSRunLoopCommonModes
để kết nối.
Điều đó giúp tôi xem xét chi tiết về hai chế độ, NSDefaultRunLoopMode và NSRunLoopCommonModes, nhưng tài liệu apple không vui lòng giải thích, ngoài việc nói
NSDefaultRunLoopMode
Chế độ xử lý các nguồn đầu vào khác với các đối tượng NSConnection. Đây là chế độ chạy vòng lặp được sử dụng phổ biến nhất.
NSRunLoopCommonModes
Các đối tượng được thêm vào vòng chạy bằng cách sử dụng giá trị này vì chế độ được giám sát bởi tất cả các chế độ vòng chạy đã được khai báo là thành viên của tập hợp các chế độ “chung”; xem mô tả của CFRunLoopAddCommonMode để biết chi tiết.
CFRunLoopAddCommonMode
Nguồn, bộ định thời và bộ quan sát được đăng ký vào một hoặc nhiều chế độ vòng chạy và chỉ chạy khi vòng 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à bộ quan sát được chia sẻ bởi các chế độ này. Ví dụ: thay vì đăng ký một nguồn cho từng chế độ vòng lặp chạy cụ thể, bạn có thể đăng ký một lần nó vào chế độ giả phổ biến của vòng chạy và nó sẽ được tự động đăng ký trong mỗi chế độ vòng lặp chạy trong chế độ chung được đặt. Tương tự như vậy, khi một chế độ được thêm vào tập hợp các chế độ chung, mọi nguồn, bộ hẹn giờ hoặc người quan sát đã được đăng ký với chế độ giả phổ biến sẽ được thêm vào chế độ chung mới được thêm vào.
Bất cứ ai có thể vui lòng giải thích hai bằng ngôn ngữ của con người?