【发布时间】:2021-04-27 17:13:19
【问题描述】:
在我的应用程序中,第一个 TableView 显示特定子类别中的广告,用户可以在子类别之间切换,并且 tableview 重新加载并显示相关内容。他们点击一个单元格并被带到一个显示更详细信息的视图控制器。表格视图中的广告按与用户的距离排列。
当我下载整个数据库的应用程序打开时,我通过加载屏幕来实现这一点,计算与用户的距离(对于每个分支,然后找到最近的分支并使用这些坐标),将所有内容附加到一个数组 ["Ad code", "distance in km"] -> ["A1-2-3", 28] 然后我用它来填充表格视图中的单元格并通过计算数组来获取单元格的数量。我真的不喜欢这个解决方案,因为我在打开应用程序时更新数据库会崩溃,有时加载屏幕在下载排序完成之前退出导致 tableview 崩溃。我尝试下载数据然后对其进行排序,但它崩溃了(它试图在填充数组之前开始对数组进行排序)所以我将排序代码移到“Firebase Block”中。
我的问题是,有没有比在打开应用程序时下载整个数据库更好的方法?随着数据库的增长,下载等也会增加。
格式 -> “A0-1-2” - “A0”是类别(1、2、3等),1是子类别,“2”是广告编号。
我的 JSON 树看起来像这样
"Adverts" : {
"A0" : {
"A0-0" : {
"A0-0-0" : {
"Branches" : [ {
"Branch Name" : "Florida Road",
"Latitude" : 1234,
"Longitude" : 1234
} ],
"Images" : {
"0" : "link",
"1" : "link",
"2" : "link",
"Thumbnail" : "link"
},
"Info" : {
"Name" : "The Barn Owl",
"Price" : 28.98
},
"Social Media" : {
"Facebook" : "link",
"Instagram" : "Link",
"Twitter" : "link",
"Website" : "link"
}
}
}
}
}
【问题讨论】:
-
我会尽力帮助你,因为这个问题非常模糊,所以很高兴在它关闭之前编辑。首先,我们真的不知道要问什么——你问的是结构还是一些代码(不包括在内)或其他什么?像 a bit glitchy 和 这是正确的方法 之类的第二个陈述完全是主观的 - 你是在寻求有关故障代码的帮助吗?如果是这样,它有什么毛病?或者您当前的用例有什么不正确的地方?最后,SO 用于编码特定问题,而不是关于整体设计。请更新您的问题。
-
谢谢,我已经更新了我的问题@Jay
标签: ios swift firebase uitableview firebase-realtime-database