我正在访问的foursquare api 端点要求我将照片前缀、大小和后缀组合在一起以创建可用的图像URL。我正在尝试在当前有效的“photoURL”常量中执行此操作。
在将变量组合在一起以使用 Haneke 从 URL 设置场所图像视图时,如何检查此 photoURL 的所有部分的数据是否存在(使用 if let)?
这是我的代码:
func bindData() {
let ratingSignals = self.dog?["venue"]["ratingSignals"].stringValue
let photoURLPrefix = self.dog?["venue"]["featuredPhotos"]["items"][0]["prefix"].stringValue
let photoURLSuffix = self.dog?["venue"]["featuredPhotos"]["items"][0]["suffix"].stringValue
let photoURL = photoURLPrefix! + "original" + photoURLSuffix!
let venuePhotoURL = NSURL(string: photoURL)
println("photo url prefix is \(photoURLPrefix)")
println("photo url suffix is \(photoURLSuffix)")
println(photoURL)
self.openUntilLabel.text = self.dog?["venue"]["hours"]["status"].stringValue
self.addressLabel.text = self.dog?["venue"]["location"]["address"].stringValue
self.titleLabel.text = self.dog?["venue"]["name"].stringValue
self.ratingsLabel.text = "Based on \(ratingSignals) ratings"
self.ratingImageView.image = UIImage(named:"Score8-5")!
if let photoURL = photoURLPrefix! + "original" + photoURLSuffix!{
let url = NSURL(string: photoURL)
venueImageView.hnk_setImageFromURL(url!)
}
我注释掉了当前有效的 self.venueImageView.hnk_setImageFromURL(venuePhotoURL!),但我担心如果请求不返回图像,它会使应用程序崩溃。因此,我尝试使用 if let 检查数据是否存在,然后在此语句中设置 imageView。
我得到的错误:
“条件绑定中的绑定值必须是可选类型”
这是错误的图像: