Swift/xcode/iOS:使用 Firebase 检索已收集的数据并将其显示在单独的视图控制器中

Posted

技术标签:

【中文标题】Swift/xcode/iOS:使用 Firebase 检索已收集的数据并将其显示在单独的视图控制器中【英文标题】:Swift/xcode/iOS: Using Firebase to retrieve data already collected and displaying it in a separate view controller 【发布时间】:2016-08-22 15:33:37 【问题描述】:

我正在开发一个允许您撰写和查看帖子的应用程序,就像 Twitter 允许的那样。我使用的数据库是 Firebase,我让它在命令完成时接收信息。每次我打算接收信息时,我都会这样做,而且我可以在 Firebase 中查看所有信息。但是,我想在 SEPARATE 视图控制器中显示来自我的数据库的信息(使用表格视图单元格,每个帖子在不同的单元格中)。我找到了允许在该视图控制器中查看数据库中接收到的信息的教程,但是我找不到在不同的视图控制器中执行此操作的方法。为了简化问题,我想获取我已有的数据并将其显示在与接收信息的视图控制器不同的视图控制器中。

【问题讨论】:

【参考方案1】:

如果您能够在该视图控制器中收集一组帖子对象,则可以使用本地通知将数组传递给单独的视图控制器。

您从哪里获得数据:

let nc = NSNotificationCenter.defaultCenter()
//Name of notification is "postsRetrieved"
nc.postNotificationName("postsRetrieved", object:nil,userInfo:["posts":postsArray])

现在,为单独的视图控制器添加一个监听器

let nc = NSNotificationCenter.defaultCenter()
nc.addObserver(self, selector: "postsFunction:", name: "postsRetrieved", object: nil)

最后,从你的监听器中实现选择器(“postsFunction”)

func postsFunction(notification:NSNotification) 
    let userInfo:Dictionary<Array,Array!> = notification.userInfo as Dictionary<Array,Array!>
    let postsArray = userInfo["postsArray"]

    //Now, use this array as your table data source

【讨论】:

以上是关于Swift/xcode/iOS:使用 Firebase 检索已收集的数据并将其显示在单独的视图控制器中的主要内容,如果未能解决你的问题,请参考以下文章

Swift3、XCode8、iOS10 的 Swifty JSON 性能下降

传递 int EXC_BREAKPOINT(code=1 Swift Xcode ios) 时出错

我需要 Xcode 7 和 Swift 2.0 来更新我的应用吗

尝试制作一个屏幕截图按钮,当单击按钮时将屏幕截图发送到我的相机胶卷。斯威夫特 3,Xcode 8,IOS

Swift 2 核心位置不起作用

Stripe 和 Firebase:FirebaseError:collection() 的第一个参数应为 CollectionReference、DocumentReference 或 Fireba