Tôi khá mới đối với Objective-C và tôi không thể tìm ra cách chờ đợi theo cách không chặn. Tôi có một đối tượng đang được phổ biến không đồng bộ và tôi cần phải đợi nó trước khi tôi có thể tiếp tục theo một phương pháp khác. Ngay bây giờ tôi đang sử dụng chức năng ngủ, nhưng điều này chặn toàn bộ ứng dụng và myObject không bao giờ được tải.Chức năng chờ không chặn trong Mục tiêu-C
while (!myObject)
{
sleep(1);
}
return myObject;
EDIT: Đoạn mã này có thể được gọi trước khi myObject được tải. Trong trường hợp này, tôi thực sự muốn chặn trong phương thức này, nhưng mã của tôi chặn tất cả mọi thứ kể cả myObject đang được nạp.
Nhờ câu trả lời của Chuck, tôi thấy câu hỏi này và thực hiện nó bằng cách sử đoạn mã thứ hai của mình: http: //stackoverflow.com/questions/149646/best-way-to-make-nsrunloop-wait-for-a-flag-to-be-set –