다음 이미지 블록을 사용하여 이미지 URL을로드하고 배열에 추가하여 각 사용자의 UITableView 셀에 사용자 프로필 이미지를 표시하는 자습서를 진행했습니다 :Firebase Swift NSURLSession을 사용하여 TableView에 프로필 이미지로드하기
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의 첫 시도입니다.
왜 당신이 데이터를 추가하는 나쁜 관행 –
당신이 제안 무엇 @kirtimali되어있는 NSArray하는? – 1QuickQuestion
확인하기 http://stackoverflow.com/questions/24231680/loading-downloading-image-from-url-on-swift –