【发布时间】:2015-12-22 01:53:58
【问题描述】:
我正在我的应用程序中实现延迟加载策略,我使用AFNetworking 在UITableView 中异步加载新闻文章图像。这是在我的 cellForRowAtIndexPath 方法中执行此操作的以下代码:
@implementation PocketTableViewController
- (AFHTTPRequestOperationManager *)operationManager
{
if (!_operationManager)
{
_operationManager = [[AFHTTPRequestOperationManager alloc] init];
_operationManager.responseSerializer = [AFImageResponseSerializer serializer];
};
return _operationManager;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
...
if (articleImageURL != nil)
{
//set article image
cell.ThumbImage.image = [UIImage imageNamed:@"greyImage.png"];
[cell.ThumbImage.associatedObject cancel];
cell.ThumbImage.associatedObject =
[self.operationManager GET:[articleImageURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]
parameters:nil
success:^(AFHTTPRequestOperation *operation, id responseObject) {
cell.ThumbImage.image = responseObject;
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Failed with error %@.", error);
}];
}
当我滚动浏览表格视图时,它适用于大多数图像,但随后它在此处崩溃:
关于它为什么崩溃的任何想法?
更新:
我发现由于某种原因它在此图片网址上崩溃了:
【问题讨论】:
-
可能是某些特殊字符会导致这个错误,请尝试使用UTF8对url进行编码。
标签: ios objective-c uitableview afnetworking lazy-loading