2012-02-08 42 views
16

Gần đây tôi đã đọc tin tức trên http://allseeing-i.com rằng ASIHTTP đang bị ngừng hoạt động. Tôi có nhiều sự tôn trọng đối với các nhà sản xuất thư viện. Tuy nhiên, bây giờ tôi đang tìm kiếm một thay thế cũng hỗ trợ tải xuống hàng đợi (đa luồng) trên iOS, cũng hỗ trợ thanh tiến trình có thông tin thích hợp.Thay thế, thay thế hoặc thay thế tốt nhất cho ASIHTTP cho hàng đợi tải xuống

Có thư viện nào (hy vọng nhẹ), đó là trong vòng đời phát triển đang hoạt động không? Hỗ trợ ARC cũng sẽ được đánh giá cao.

Rất cám ơn vì những suy nghĩ của bạn.

Trả lời

3

AFNetworking đang được ca ngợi là người kế thừa ASIHTTPRequest. Nó dựa trên hàng đợi hoạt động, và theo kinh nghiệm của tôi nó hoạt động khá tốt. Bạn có thể làm những gì bạn muốn làm mà không có thư viện của bên thứ ba, nhưng nếu bạn muốn làm cho nó dễ dàng hơn một chút, thì sự kết hợp của các lớp con AFURLConnectionOperation và lớp AFHTTPClient sẽ hoạt động tốt.

+0

Lưu ý rằng mặc dù một số công việc đã được thực hiện để làm cho nó tương thích với ARC, dòng chính của mã AFNetworking không tương thích với ARC. Trong khi đó, nó khá dễ dàng để áp dụng -fno-objc-arc cho các tập tin có liên quan. – warrenm

+0

Tôi nhớ sự đơn giản của ASIHTTTP setQueueDidFinishSelector ... Bất kỳ thay thế nào cho AFNetworking hơn là quan sát KVO của NSOperationQueue? Đó là kinda xấu xí .. –

+0

Vâng, phương thức 'setCompletionBlockWithSuccess: failure:' trên lớp hoạt động 'AFHTTPRequestOperation' cho phép bạn thiết lập một khối tùy ý được gọi là thành công hay thất bại, điều này với tôi thậm chí còn thanh lịch hơn so với sử dụng đích/mẫu hành động. – warrenm

3

Tôi đã viết một tài khoản gần đây. Nó hoàn toàn ARC tuân thủ và khá nhẹ:

https://github.com/nicklockwood/RequestQueue

Tính đến phiên bản 1.2 nó hỗ trợ download và upload thanh tiến trình (xem bao gồm ProgressLoader chẳng hạn).

Thay vì tạo khung nguyên khối như ASI, tôi đã cố gắng giữ điều này đơn giản nhất có thể. Điều đó có nghĩa là bạn được tự do trộn và kết hợp nó với các thư viện khác cho các công cụ như tạo tham số POST, phân tích cú pháp JSON, v.v.

+0

Trông rất tuyệt. Thực sự vui mừng khi loại bỏ GTMHTTPFetcher. – PKCLsoft

5

Bạn có thể xem MKNetworkKit. Nói cách của nó:

mục tiêu MKNetworkKit là để làm cho nó như tính năng phong phú như ASIHTTPRequest nhưng đơn giản và thanh lịch để sử dụng như AFNetworking

Nó có một số tính năng rất tốt đẹp cho xếp hàng và quản lý các tình huống ngoại tuyến.

+0

Thư viện này không được dùng nữa do NSUrl Connection Depricated. –