[英]iOS set timeout for url request in SDWebImage
我正在使用SDWebImage庫在iOS應用中緩存圖像。 現在,當從服務器加載圖像時,我正在imageview上顯示活動指示器。 我正在使用以下代碼
__block UIActivityIndicatorView *activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
activityIndicator.center = self.serviceImageView.center;
activityIndicator.hidesWhenStopped = YES;
[activityIndicator startAnimating];
[self.serviceImageView addSubview:activityIndicator];
[self.serviceImageView setImageWithURL:[NSURL URLWithString:[self.service valueForKey:@"image"]] placeholderImage:nil completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType) {
[activityIndicator removeFromSuperview];
}];
它通常工作正常。 但是對於某些圖像URL,它沒有加載圖像,因此它永遠不會出現在已完成的塊中,並且活動指示器無限旋轉。 因此,有什么方法可以設置超時時間,以便在一定時間后會給我一個錯誤或類似的信息,這樣我就可以停止活動指示器。
有點銀 請幫忙。
您應該檢查URL是否有效,因為當您將nil
傳遞給setImageWithURL
,不會調用完成塊。
NSURL* url = [NSURL URLWithString:[self.service valueForKey:@"image"]];
if (url)
[self.serviceImageView setImageWithURL:url placeholderImage:nil completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType) {
[activityIndicator removeFromSuperview];
}];
I
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.