【发布时间】:2017-01-18 13:01:01
【问题描述】:
我正在按照教程加载图像 URL 并将它们附加到一个数组中,以便使用以下代码块在每个用户的单元格 UITableView 中显示用户个人资料图像:
let url = NSURL(string: urlString)
NSURLSession.sharedSession().dataTaskWithURL(url!, completionHandler: { (data, response, error) in
//download hit an error so lets return out
if error != nil {
print(error)
return
}
dispatch_async(dispatch_get_main_queue(), {
//"profilePics" is my array of UIImages made as a global var
self.profileImages.append(UIImage[data!])
})
}).resume()
但由于某种原因,“NSURLSession”在我编程时没有作为建议出现并且它返回错误,所以我将所有内容从“NSURL...”更改为简单的“URL...”:
//Grabbing images from db
print("starting get image block : ")
let url = URL(string: profileImageURL)
URLSession.shared.dataTask(with: url!, completionHandler: {(data, response, error) in
print("grabbing image: ") //Test line for monitor
print(String(describing: data)) //Test line for monitor : returns "nil"
if error != nil{
print(error!)
return
}
DispatchQueue.main.async {
//"profilePics" is my array of UIImages made as a global var
self.profilePics.append(UIImage(data: data!))
print("Image appended")
}
}).resume()
// grabbing images from db end
但是每次我运行它时,我都会得到一个 nil 的数据,并且它永远不会附加到我的数组中。有人可以解释我错过了什么吗?这是我第一次尝试使用 Firebase。
【问题讨论】:
-
为什么要向 nsarray 添加数据,这是不好的做法
-
@kirtimali 你有什么建议?
标签: ios uitableview firebase swift3 nsurlsession