2016-11-29 81 views
0

在iOS中,我可以檢查url如果是真實圖像路徑嗎?如何檢查圖像的網址是真實存在的 - iOS?

如:

1)http://www.imgs.ie/uploads/banners/esb1.png

這是image真正url路徑,但我怎麼能檢查它在代碼中存在嗎?

2)http://www.imgs.ie/uploads/banners/esb2.png

這是image故障url路徑,但我怎麼能檢查它不是在代碼存在嗎?

編輯

感謝rmaddy的建議,我的要求是不要下​​載image,只是想知道的網址,如果是真實的圖像的URL,就像URL的probe。我們可以檢查。

+1

檢查[這些搜索結果](http://stackoverflow.com/search?q=%5Bios%5D+check+u RL +存在)。你真的需要在你的問題中提供更多的細節。 – rmaddy

+0

@rmaddy,好的,我會 – aircraft

+0

仍在等待你的問題中的其他細節。你是否試圖檢查URL是否存在,而沒有實際下載圖像?請解釋你想要的。這將有助於說明什麼語言(Swift/Objective-C)。 – rmaddy

回答

0

爲什麼不要你試試這個:

var imageURL: NSURL? { 
    didSet { 
     image = nil 
     if view.window != nil { 
      fetchImage() 
     } 
    } 
} 

private func fetchImage() { 
    if let url = imageURL { 
     DispatchQueue.global(qos: .userInitiated).async { 
      self.spinner?.startAnimating() 
      let contentsOfURL = NSData(contentsOf: url as URL) 
      DispatchQueue.main.async { 
       if url == self.imageURL { 
        if let imageData = contentsOfURL { 
         self.image = UIImage(data: imageData as Data) 
        } else { 
         self.spinner?.stopAnimating() 
        } 
       } else { 
        print("ignored data returned from url \(url)") 
       } 
      } 
     } 
    } 
} 

而當你想使用IMAGEURL:

let ImageNames = ["esbn": "http://www.imgs.ie/uploads/banners/esb1.png"] 

func getImageNamed(imageName: String?) -> NSURL? { 
    if let urlstring = ImageNames[imageName ?? ""] { 
     return NSURL(string: urlstring) 
    } else { 
     return nil 
    } 
} 

imageURL = getImageNamed(imageName: imageName) 
0
uiimage *image = [uiimage imagewithurl:@"your url"]; 
if(image){ 
//exist 
} 
+0

優秀!!!!!! – cola

0

您可以使用Alamofire:

Alamofire.request(.GET, completeURLImage).response { (request, response, data, error) in 
if data != nil{ 
    imgView.image = UIImage(data: data!, scale: 1) 
    } 
}