2012-03-21 32 views
6

Có trình bao bọc hoặc một số chức năng tích hợp sẵn có trong RestKit để tải UIImage từ một số NSURL không đồng bộ bằng cách sử dụng gọi lại hoặc chặn không? Tôi không thể tìm thấy phương thức như vậy trong tài liệu RestKit. Nếu không có, chiến lược tốt để triển khai hình ảnh không đồng bộ được tải lười biếng từ NSURLbằng cách sử dụngRestKit càng nhiều càng tốt?Tải hình ảnh từ NSURL không đồng bộ với RestKit

+0

Tôi sử dụng restkik để tải hình ảnh, để tôi sử dụng base64 ... chỉ cách tôi tìm thấy. – Beber

Trả lời

5

sử dụng RestKit bạn có thể sử dụng RKRequest để nạp dữ liệu cho hình ảnh một cách như:

RKRequest* request = [RKRequest requestWithURL: url]; 

request.onDidLoadResponse = ^(RKResponse* response) { 
    UIImage* image = [UIImage imageWithData: response.body]; 
    // do something interesting with the image 
}; 

request.onDidFailLoadWithError = ^(NSError* error) { 
    // handle failure to load image 
} 

[imageLoadingQueue addRequest: request]; 

Lưu ý rằng ngay cả trong trường hợp onDidLoadResponse bạn có thể muốn kiểm tra response để đảm bảo loại o f dữ liệu là những gì bạn mong đợi. Hàng đợi tải hình ảnh được sử dụng ở trên có thể được tạo như sau:

imageLoadingQueue = [RKRequestQueue requestQueueWithName: @"imageLoadingQueue"]; 
[imageLoadingQueue start]; 
+0

Awesome restkit dựa trên câu trả lời. cảm ơn bạn –

+0

Trình biên dịch không thể tìm thấy định nghĩa RKRequest khi tôi sử dụng #import , RKRequest vẫn có sẵn trong RestKit? – BergP

19

Không chắc về một giải pháp RestKit, nhưng SDWebImage là một thư viện mà sẽ cho phép bạn dễ dàng tải hình ảnh không đồng bộ bằng cách thêm một mục để UIImageView, vì vậy tất cả các bạn phải viết là này (ví dụ):

[myImageView setImageWithURL:[NSURL URLWithString:@"http://www.domain.com/path/to/image.jpg"] 
       placeholderImage:[UIImage imageNamed:@"placeholder.png"]]; 
+3

Vâng, đó là khá tuyệt vời ... Tôi đã nhận nó và chạy trong <5 phút mà không có suy nghĩ. Tôi sẽ tiếp tục chấp nhận cho đến khi tôi thấy có bất kỳ giải pháp dựa trên RestKit nào không. –

+0

SDWebImage cũng có chức năng lưu hình ảnh. AFAIK, RestKit thì không. –

+0

Tôi nghĩ rằng điều này nên được đánh dấu là câu trả lời đúng, không thấy bất kỳ triển khai RK nào đi kèm với các tính năng của SDWebImage. – eladleb

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