gpt4 book ai didi

json - 为用户提供从 Firebase 下载所有内容的选项

转载 作者:行者123 更新时间:2023-11-30 13:07:15 25 4
gpt4 key购买 nike

我正在尝试创建function,让用户在使用可选的application之前从Firebase下载所有内容。它应该使用户体验更好。是否可以?

现在我的 JSON 包含这些字段。 JSON 实际上要长得多:

  "Snuses" : {
"Catch Eucalyptus White Large" : {
"Brand" : "Catch",
"Products" : "Catch Eucalyptus White Large",
"PorionWeight" : 21.6,
"flavor" : "Tobacco, Eucalyptus",
"nicotine" : 8.0,
"PortionsCan" : 24,
"shipping weight" : 39,
"productUrl" : "https://firebasestorage.googleapis.com/v0/b/snuspedia.appspot.com/o/Catch%20Dry%20Eucalyptus%20White%20Mini.png?alt=media&token=b712f44c-a83b-4a18-b9cc-7f77897e5489"
},

我还使用 Firebase Storage,其中包含大约 (20mb) 的图像。我想解析所有信息+图像,完成后然后显示它们。

现在我对图像这样做:

if productsValue[indexPath.row]["productUrl"] != nil {
cell.snusProductImageView!.kf_setImageWithURL(NSURL(string: productsValue[indexPath.row]["productUrl"] as! String)!)
}
else {
let productImageref = productsValue[indexPath.row]["Products"] as! String

let decomposedPath = productImageref.decomposedStringWithCanonicalMapping

cell.snusProductImageView.image = nil
cell.snusProductImageView.kf_showIndicatorWhenLoading = true

FIRStorage.storage().reference().child("\(decomposedPath).png").downloadURLWithCompletion({(url, error)in

FIRDatabase.database().reference().child("Snuses").child(decomposedPath).child("productUrl").setValue(url!.absoluteString)

let resource = Resource(downloadURL: url!, cacheKey: decomposedPath)

cell.snusProductImageView.kf_setImageWithURL(url)

})

所有其他内容几乎相同。

执行此操作的最佳选择是什么?

最佳答案

不久前,我遇到了与您类似的问题,当时我希望我的 IOS 应用程序在启动前下载所有 Firebase 数据,以提高用户性能,我的解决方案是使用本地数据库来存储数据。

我个人选择 Realm,因为它易于实现和使用,但还有许多其他可用选项,例如 Core Data 或 SQLite。

但是,我的解决方案只能解决您一半的问题,因为您还需要存储大量图像。我还没有处理过存储如此大量的图像,所以我无法给你这方面的建议。除了图像之外,Realm 会为您存储其余数据。

关于json - 为用户提供从 Firebase 下载所有内容的选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39190712/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com