Có thường là một ý tưởng hay khi gọi số -[NSRunLoop runUntilDate:]
? Dường như nó hoạt động mà không có bất kỳ vấn đề nào, nhưng nó làm tôi lo lắng khi nói với vòng lặp chạy để chạy từ bên trong vòng lặp chạy.Đang gọi - [NSRunLoop runUntilDate:] một ý tưởng hay?
Thông tin khác:
Tôi có dự án đang tìm nạp dữ liệu từ dịch vụ REST. Một phần thông tin quan trọng cần thu được là phạm vi ngày có dữ liệu hợp lệ. Đó là một lượng dữ liệu rất nhỏ mà chỉ cần được nhận một lần, vì vậy tôi quyết định cách tốt nhất để xử lý nó là phải tải thuộc tính xuống dữ liệu nếu biến cục bộ là nil
. Tôi đang sử dụng ASIHTTPRequest
và ASINetworkQueue
, vì vậy mọi thứ không đồng bộ theo mặc định và để làm việc này, thuộc tính này không thể trả lại cho đến khi dữ liệu được tải xuống và xử lý. Dưới đây là phác thảo mã của tôi, tên của các biến đã được thay đổi để bảo vệ người vô tội:
Một lần nữa, điều này có vẻ hoạt động tốt. Có bất kỳ vấn đề tiềm năng nào khi sử dụng phương pháp này không?
Vì vậy, trong trường hợp này, có vẻ như phương pháp này là an toàn vì không có gì khác mà có thể gọi thuộc tính này trong khi nó đang tải xuống dữ liệu. Nhưng nếu có một tình huống mà người dùng có thể nhấn một nút trong khi nó đang bận và gọi lại tài sản đó, thì nó sẽ nổ tung? Tốt để biết. –
Tài sản này có được sử dụng trực tiếp hoặc gián tiếp bởi bất kỳ phương thức giao diện người dùng hoặc đại diện nào không? Nếu vậy, nó vẫn là một vấn đề lớn. – hotpaw2
Tôi chắc chắn nó sẽ chỉ nhấn mã này một lần khi ứng dụng tải ban đầu trước khi giao diện người dùng được trình bày cho người dùng. Sau đó, dữ liệu sẽ ở đó và nó sẽ sử dụng biến cục bộ. Nếu nó không thể tải xuống dữ liệu vì một lý do nào đó, nó sẽ hiển thị cảnh báo phương thức cho người dùng và họ không thể truy cập vào ứng dụng cho đến khi tải xuống thành công. –