Tôi cần thực hiện một số cuộc gọi POST tới máy chủ của mình, nhưng tôi không cần chặn luồng chính. Theo tôi hiểu, NSMutableURLRequest
và NSURLConnection
không phải là chủ đề an toàn, vì vậy tốt nhất bạn nên sử dụng phương pháp async là NSURLConnection
.Mục tiêu-C: Không đồng bộ/Bối cảnh POST mà không sử dụng phương pháp đại biểu?
Câu hỏi của tôi về điều này là, làm thế nào tôi có thể gói nó lên một cách độc đáo vào một phương pháp, thay vì phải sử dụng phương pháp đại biểu? Tôi muốn làm:
NSData *returnedData = [Utility postDataToURL:@"some string of data"];
Đây là cách dễ dàng được thực hiện với các phương pháp sau đây:
[NSURLConnection sendSynchronousRequest:serviceRequest returningResponse:&serviceResponse error:&serviceError];
Nó là như vậy thoải mái giữ tất cả mọi thứ trong vòng một phương pháp, sau đó chỉ có dữ liệu của tôi trở về từ nó !
Có phương pháp chặn nào cho việc này không? Nó trở thành một vấn đề khi tôi cần viết các phương thức cho khoảng 50 cuộc gọi khác nhau và mỗi người cần sử dụng cùng một phương thức ủy nhiệm. Tôi đang đi về điều này một cách sai lầm?
Điều này sẽ chỉ cần cho iOS5.
Bạn nói bạn không muốn chặn chủ đề chính, nhưng những gì bạn nói rằng bạn muốn làm là rất rõ ràng đồng bộ, tức là nó sẽ chặn các chủ đề chính (hoặc ít nhất, các chủ đề bạn đang gọi nó từ). –
Đó là ví dụ về mức độ dễ dàng tôi muốn có thể trả lại dữ liệu. –