Tôi viết ứng dụng iOS và sử dụng thư viện imageStore để tải hình ảnh chậm và lưu chúng vào bộ nhớ. (Https://github.com/psychs/imagestore)iOS kiểm tra xem đại biểu có tồn tại trước khi gọi phương thức
On ViewController tôi tạo imagestore dụ:
imageStore = [ImageStore new];
imageStore.delegate = self;
Khi hình ảnh được tải successfuly, gọi imagestore phương pháp đại biểu
- (void)imageStoreDidGetNewImage:(ImageStore*)sender url:(NSString*)url
rằng làm reloadData trên tableview để vẽ lại các ô. Tất cả hoạt động tốt. Nhưng có vấn đề: nếu ViewController didUnload (quay trở lại trong bộ điều khiển điều hướng) và tải hình ảnh, ứng dụng kết thúc với sự cố, bởi vì phương pháp gọi imagestore của ViewController không tải.
tôi cố gắng làm như sau: 1) trong ViewController Tôi đặt mã này trong phần viewDidUnload:
imageStore.delegate = nil;
imageStore = nil;
2) Trong imageStore tôi thêm vào kiểm tra cho nil:
if(delegate != nil) {
...call delegate method
}
Nó hoạt động, nhưng thỉnh thoảng lại gặp sự cố ứng dụng.
'2)' là không cần thiết. Tin nhắn có thể được gửi an toàn đến đối tượng 'nil'. – Nekto
Cảm ơn bạn đã trả lời! nhưng không có nó bị hỏng 100% nếu tải hình ảnh và tải xuống bộ điều khiển xem ... –