需要使用 Firebase 在表格视图控制器 Xcode 7 中安排显示模式

Posted

技术标签:

【中文标题】需要使用 Firebase 在表格视图控制器 Xcode 7 中安排显示模式【英文标题】:Need to arrange the displaying pattern in table view controller Xcode 7 using Firebase 【发布时间】:2016-03-21 17:26:36 【问题描述】:

我创建了一个表格视图控制器,它从 firebase 填充单元格。该表加载完美,但有一个小问题。每当添加新项目时,该项目都会显示在屏幕底部而不是顶部。如何安排我的项目,以便每当添加新项目时,它都会显示在顶部单元格上并显示在应用程序的顶部而不是底部,因此我不必向下滚动以查看新项目有什么已添加..

【问题讨论】:

示例代码可能会有所帮助:) 【参考方案1】:

Firebase 没有自然顺序 - 您需要确定数据的排序方式并相应地设置结构。然后按该顺序检索数据。您可以按它们的键、值或优先级对它们进行排序。

例如:

您有一个博客应用程序,并且您总是希望按时间顺序列出博客:

post_0
   timestamp: 1
   post: "posted at 1am"
post_1
   timeStamp: 13
   post: "posted at 1pm"
post_2
   timeStamp: 9
   post: "posted at 9am"

当您阅读帖子节点时,按时间戳排序,它将按照 1、9、13 的顺序。

ref.queryOrderedByChild("timeStamp").observeEventType(.ChildAdded, withBlock:  snapshot in
    println("\(snapshot.value)")
)

如果您只想要最新的两个帖子,请使用限制查询。

let scoresRef = Firebase(url:"https://dinosaur-facts.firebaseio.com/scores")
postsRef.queryOrderedByValue().queryLimitedToLast(2).observeEventType(.ChildAdded, withBlock:  snapshot in
    println("post time \(snapshot.value)")
)

当然还有很多其他的选择:

将 firebase 数据读入数组,然后使用 NSSortDescriptors 进行降序排序。

按顺序读取 firebase 数据(因此它们是 1、2、3、4),其中 4 是最新帖子,并将每个数据插入到位置 0 的数组中。

4 最新帖子存储在数组中的位置 0

3

2

1

Firebase Reading Data 是理解查询和数据排序的非常好的参考。

【讨论】:

以上是关于需要使用 Firebase 在表格视图控制器 Xcode 7 中安排显示模式的主要内容,如果未能解决你的问题,请参考以下文章

图像未显示在 firebase 的表格单元格中

Firebase - iOS Swift:使用从两个单独的子节点检索到的数据加载表格视图单元格

从 Firebase 填充数组传递 UITableViewCell 数据

Swift:从 Firebase 检索数据并在表格视图中显示

swift:来自firebase的照片未显示在表格视图中

将数据从两个单独的 Firebase 节点加载到一个表格视图单元格中