我需要有关从Firebase数据库加载图像的帮助。我已将2张图片上传到firebase。当我想加载图像。出现此错误
Attempeted to download object with size of 1050168 bytes, which exceeds the maximum size of 1048576 bytes. Consider raising the maximum download size, or using [FIRStorageReference writeToFile:]
然而,有时我可以加载2张图片,有时它会卡住。
我是Swift和Firebase的新手。
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
storageRef = FIRStorage.storage().referenceForURL(toDoList[indexPath.row].imageName)
let storageRef1 = FIRStorage.storage().referenceForURL(toDoList[indexPath.row].secondPhoto)
let itemSelected = toDoList[indexPath.row]
storageRef.dataWithMaxSize(1 * 1024 * 1024) { (data, error) in
if error == nil
{
dispatch_async(dispatch_get_main_queue(), {
if let data = data
{
storageRef1.dataWithMaxSize(1 * 1024 * 1024) { (data1, error) in
if error == nil
{
dispatch_async(dispatch_get_main_queue(), {
if let data1 = data1
{
let detailVC:DetailViewController = self.storyboard?.instantiateViewControllerWithIdentifier("DetailViewController") as! DetailViewController
print(itemSelected.eventID)
detailVC.eventIDfromDetail = itemSelected.eventID
detailVC.titleEvent = itemSelected.title
detailVC.staffEvent = itemSelected.staff
detailVC.locationEvent = itemSelected.location
detailVC.startEvent = itemSelected.starts
detailVC.endEvent = itemSelected.ends
detailVC.repeatEvent = itemSelected.rpeat
detailVC.imageDetail = UIImage(data: data)!
detailVC.descriptionDetail = itemSelected.description
detailVC.secondPhotoEvent = UIImage(data: data1)!
detailVC.key = itemSelected.key
detailVC.isFinish = itemSelected.isCompleted
self.presentViewController(detailVC, animated: true, completion: nil)
}
})
}
else
{
print(error!.localizedDescription)
}
}}
})
}
else
{
print(error!.localizedDescription)
}
}
}
答案 0 :(得分:0)
看起来您需要提升dataWithMaxSize
。根据Firebase文档,请注意,您不能下载超出设备内存容量的文件,否则应用程序将崩溃。指向Firebase文档here的链接。