Как правильно загрузить картинку в UITableVIew

Я пытаюсь получить фотографию профиля пользователя, как это внутри cellForRowAtIndexPath метод:

    let profileImage = UIImage(data: NSData(contentsOfURL: NSURL(string:"http://website.com/something/somethingelse-pic/\(self.userArray[indexPath.row]).jpg")!)!)

Мне просто интересно, есть ли лучший и более быстрый способ сделать это, потому что это, кажется, загружается довольно медленно и медленно.

Любая помощь будет оценена !!

2

Решение

Вы можете использовать Async для загрузки изображения с URL

       let request: NSURLRequest = NSURLRequest(URL: imgURL)
let mainQueue = NSOperationQueue.mainQueue()
NSURLConnection.sendAsynchronousRequest(request, queue: mainQueue, completionHandler: { (response, data, error) -> Void in
if error == nil {
// Convert the downloaded data in to a UIImage object
let image = UIImage(data: data)
// Store the image in to our cache
self.imageCache[urlString] = image
// Update the cell
dispatch_async(dispatch_get_main_queue(), {
if let cellToUpdate = tableView.cellForRowAtIndexPath(indexPath) {
cellToUpdate.imageView?.image = image
}
})
}
else {
// println("Error: \(error.localizedDescription)")
}
})

Ref: http://jamesonquave.com/blog/developing-ios-apps-using-swift-part-5-async-image-loading-and-caching/

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]