Firebase 检索数据,返回 FATAL ERROR Index Out of Range
Posted
技术标签:
【中文标题】Firebase 检索数据,返回 FATAL ERROR Index Out of Range【英文标题】:Firebase Retrieving Data, returning FATAL ERROR Index Out of Range 【发布时间】:2016-11-21 23:20:01 【问题描述】:
我有这个从 Firebase 检索项目的类:
现在,当我尝试将这些数据放入某个地方时,例如我会做的事情,
let item = [CalendarItem]()
let items = item[item.count] <-- ERROR HERE
textLabel.text = items.name
但是我得到了这个错误(致命错误:索引超出范围
以下是控制台中早期创建的项目:
我做了一个print(item.count)
并且我得到了 0 因此错误,但我不明白为什么这些项目在控制台中。
请有人指出正确的方向。
【问题讨论】:
很高兴您找到了问题的原因。对于未来的问题:请将实际代码和 JSON 作为文本发布,而不是发布它们的图片。 *** 很好地突出显示它们并将它们作为文本使其可搜索,使我们能够轻松地使用它来测试您的实际代码/数据并在我们的答案中使用它,通常只是一件好事。跨度> 【参考方案1】:想通了...只是实际上并没有调用观察来将项目加载到数组中
ref.observe(.value, with: snapshot in
print(snapshot.value!)
var newItems: [CalendarItem] = []
for item in snapshot.children
let calendarItem = CalendarItem(snapshot: item as! FIRDataSnapshot)
newItems.append(calendarItem)
self.calanderDate = newItems
//self.tableView.reloadData()
)
【讨论】:
以上是关于Firebase 检索数据,返回 FATAL ERROR Index Out of Range的主要内容,如果未能解决你的问题,请参考以下文章
如果键仅返回 true,如何通过连接从 Firebase 数据库中检索数据?
从 Firebase 为每个特定帖子检索特定数据的比 datasnapshot 更好的方法?返回的位置错误
if 语句在从 firebase 检索数据时未返回正确的元素