2012-10-11 44 views
5

Tôi đang cố gắng thực hiện nhiều yêu cầu ở chế độ nền để tải xuống nhiều jsons và kiểm tra dữ liệu từ chúng nhưng tôi không biết cách sử dụng AFNetworking trong trường hợp đó.Nhiều yêu cầu với AFNetworking

Tôi đã cố gắng thực hiện như các bản khám phá Wiki nhưng khi tải xuống tệp thứ hai thì ứng dụng sẽ bị hỏng. Tôi muốn làm tất cả quá trình trong nền.

Cảm ơn

Trả lời

6

AFNetworking chắc chắn sẽ xử lý việc này. Chúng tôi sử dụng nó để trao đổi dữ liệu với một tập hợp các dịch vụ RESTful. Những điều cần lưu ý:

  • Chỉ có thể sử dụng một thao tác (ví dụ: AFHTTPRequestOperation) một lần.
  • Thao tác không đồng bộ.
  • Đặt hoạt động của bạn trong NSOperationQueue hoặc sử dụng AFHTTPClient (được đề xuất) để quản lý các hoạt động cho bạn.
  • Khi gửi nhiều yêu cầu, luôn luôn giả định rằng các phản hồi sẽ trở lại theo trình tự ngẫu nhiên. Không có đảm bảo rằng bạn sẽ nhận được phản hồi trong cùng một trình tự như các yêu cầu.

Hy vọng điều này sẽ giúp bạn hướng tới giải pháp cho vấn đề của bạn. Nếu không có thêm chi tiết trong câu hỏi của bạn, rất khó để cung cấp cho bạn một câu trả lời cụ thể.

6

Check-out AFHTTPClient 's enqueueBatchOfHTTPRequestOperations:progressBlock:completionBlock:, cho phép bạn enqueue nhiều yêu cầu hoạt động cùng một lúc với tiền thưởng thêm của việc có một handler hoàn thành được gọi khi tất cả của những yêu cầu đã hoàn thành, cũng như một khối để theo dõi tiến trình. Cũng lưu ý rằng, mọi hoạt động đơn lẻ vẫn có thể có trình xử lý hoàn thành của riêng nó (hữu ích nếu bạn phải xử lý các kết quả của một yêu cầu, ví dụ).

Nếu bạn không cần tùy chỉnh thao tác yêu cầu (và không cần khối hoàn thành riêng lẻ), bạn cũng có thể sử dụng enqueueBatchOfHTTPRequestOperationsWithRequests:progressBlock:completionBlock:, cho phép bạn chuyển trực tiếp một mảng NSURLRequest mà không phải tự mình xây dựng các hoạt động.

+0

Liên kết bị hỏng ... – Bhavin

+0

@Vin Sửa liên kết –

Các vấn đề liên quan