Tôi cần phải trì hoãn trong một khoảng thời gian nhất định và vẫn cho phép những thứ khác trên cùng một vòng chạy để tiếp tục chạy. Tôi đã sử dụng đoạn mã sau để thực hiện việc này:Cách thích hợp để trì hoãn trong khi cho phép vòng lặp chạy tiếp tục
[[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:1]];
Điều này dường như làm chính xác những gì tôi muốn, ngoại trừ khi chức năng trả về ngay lập tức mà không cần chờ thời gian mong muốn (1 giây).
Có ai cho tôi biết điều gì có thể gây ra điều này không? Và cách thích hợp để chờ đợi trong khi cho phép chạy vòng lặp là gì?
LƯU Ý: Tôi muốn trì hoãn theo cách tương tự như sleep(), chẳng hạn như sau khi trì hoãn, tôi quay trở lại cùng một luồng thực thi như trước.
Bạn muốn trì hoãn điều gì? Bạn đã xem 'dispatch_after' chưa? –
Tôi muốn trì hoãn chuỗi hiện tại, theo cách tương tự như sleep(), ngoại trừ tôi muốn runloop tiếp tục chạy (vì vậy các sự kiện và công cụ khác có thể khởi động) trong thời gian trễ đó. – Locksleyu