簡體   English   中英

iOS為SDWebImage中的url請求設置超時

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM