我正在使用Amazon S3在iOS应用程序上使用swift存储用户帐户的个人资料图片.我能够从S3获取我想要的图片,但是他们需要很长时间才能加载.我不知道为什么会这样.这就是S3的工作方式,还是有更好的方法做事?这是我下载图片的代码:
let downloadingFilePath1 = NSTemporaryDirectory().stringByAppendingPathComponent("temp-download")
let downloadingFileURL1 = NSURL(fileURLWithPath: downloadingFilePath1)
let transferManager = AWSS3TransferManager.defaultS3TransferManager()
let readRequest1 : AWSS3TransferManagerDownloadRequest = AWSS3TransferManagerDownloadRequest()
readRequest1.bucket = "groopapictures"
readRequest1.key = self.searchTextField.text
readRequest1.downloadingFileURL = downloadingFileURL1
transferManager.download(readRequest1).continueWithBlock { (task) -> AnyObject! in
println(task.error)
if task.error == nil {
self.ppImageView.hidden = false
println("Fetched image")
self.ppImageView.image = UIImage(contentsOfFile: downloadingFilePath1)
}
return nil
}
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激!
检查您在返回块中运行的队列。如果它不是主队列,设置imagea 的属性UIImageView可能需要很长时间才能被“注意到”并更新。通过将图像分配行放入dispatch_async()主线程中来测试这一点。
如果这没有帮助,请运行 Charles 并查看 S3 返回图像所需的时间。
| 归档时间: |
|
| 查看次数: |
511 次 |
| 最近记录: |