firebase 对象应该是 swift 中的单例吗?

2024-02-27

在firebase sdk的ios Swift实现中,firebase对象应该存储在单例中吗?或者它是否自动管理和关闭视图之间的连接?

例如,在每个视图中创建一个 firebase 对象会创建多个套接字连接吗?只保留一个 firebase 对象会更有效吗?

let ref = Firebase(url: "https://" + kFireBaseHost + ".firebaseio.com/")

你不需要创建一个单例。 Firebase 在后台管理单个连接,如果您有多个 Firebase 对象,或者即使您在单个位置有多个观察者,Firebase 也会适当地进行重复数据删除。如果您为每个视图创建一个新的 Firebase 对象,只要它使用相同的基本 url,它仍然会使用相同的服务器连接。

虽然您不需要管理您拥有的 Firebase 对象数量,但您应该管理您的观察者。这些不会在视图之间删除。要删除观察者,您可以使用FirebaseHandle由返回observeEventType方法与removeObserverWithHandle:方法或调用removeAllObservers。请注意,这两种方法都要求您在与附加观察者的位置相同的 url 位置调用它们(尽管它不必是相同的对象,只需相同的 url)。如果您不删除观察者,您可能会看到它们从您离开的视图中触发,因为其他人正在更改数据。您可以阅读更多内容在分离块下的文档中 https://www.firebase.com/docs/ios/guide/retrieving-data.html.

对于 Swift 或 Objective-C 来说都是如此。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

firebase 对象应该是 swift 中的单例吗? 的相关文章

随机推荐

  • 在 R 中,我们如何向 kable() 表添加重要性星星?

    使用knitr kable 函数通过rmarkdown创建 doc表 我们如何从给定的数据帧 df b 添加 重要性星星符号 i e cutpoints c 0 001 01 05 1 1 symbols c 接近存储在另一个数据帧 df
  • Spring Boot 单元测试自动装配

    我有以下课程 应用和配置类 package mypackage service import mypackage service util MyUtility import org springframework boot SpringAp
  • Charles proxY:在 https 上重写不起作用

    我正在使用 Charles Proxy 重写网站上的代码 只是为了测试客户的网站 重写适用于除 https 网站之外的所有网站 Charles 可以选择协议 http 或 https 但这也不起作用 每次重写都在 http 上运行良好 而不
  • Firebase 查询 - 嵌套数据

    我正在尝试查询 firebase 中的一些分层数据 我在弄清楚如何查询以下数据结构时遇到了一些困难 orgs KBFXBBEyvgtfqMvU4pi name ACME 123 owner K9IPqIUIuEFzLS0f Pe users
  • 如何测试 Django 测试用例中是否记录了特定日志消息?

    我想确保代码中的某个条件会导致日志消息写入 django 日志 我如何使用 Django 单元测试框架来做到这一点 是否有地方可以检查记录的消息 类似于检查已发送的电子邮件 我的单元测试扩展了django test TestCase 使用m
  • 可滚动弹性盒中的多种背景颜色

    我有一个flexbox flex direction row 具有 2 列内容和固定高度 我希望左栏和右栏分别有红色和蓝色背景 如果任一列溢出 则flexbox的滚动条出现 溢出的部分仍然是红色 蓝色 如果列的内容高度小于flexbox的高
  • 预取指令是否需要在退出之前返回结果?

    在最新的 Intel 和 AMD CPU 上 已执行但请求的行尚未到达指定缓存级别的预取指令是否仍会退出 也就是说 预取的退休是 阻塞 的 因为它看起来对于加载来说是 阻塞 的 还是非阻塞的 关于英特尔处理器 没有 Intel优化手册第7
  • Python 使读取 Excel 文件更快

    我制作了一个读取 Excel 文档并检查第一行是否包含 UPDATED 的脚本 如果是这样 它将整行写入具有相同选项卡名称的另一个 Excel 文档 我的Excel文档有23张纸 每张纸有1000行 现在需要15分钟以上才能完成 有没有办法
  • 使用 Protocol Buffer 进行 Java 序列化

    我想在 Java 应用程序中使用 protobuf 来促进序列化 并且我对 Google 网站上的这段引用有疑问 协议缓冲区和 O O 设计 Protocol Buffer 类基本上是 哑数据持有者 如结构体 C 他们的头等舱成绩不好 对象
  • Asp.net从aspx中的文本框获取值到代码隐藏

    我正在使用 asp net 和 C 编程语言创建一个登录系统 处理用户和密码的代码已经完成 但在视图层中 我很难从用户名文本框和密码文本框中获取值并将其传递给代码隐藏 两个文本框均通过 ID 进行标识 根据我的编程技能 ID 应该足以访问元
  • 如何使用 JSDoc 记录 ECMA6 类?

    背景 我在 Nodejs 中有一个使用 ECMA6 类的项目 我正在使用JSDoc http usejsdoc org 评论我的代码 以便其他开发人员更容易访问它 然而 我的评论并没有被该工具很好地接受 而且我的文档也很糟糕 Problem
  • PHP UTF-8 转 GB2312

    我们的 Web 应用程序的一部分有一个小 Ajax 方法 可以在 iFrame 中加载页面或允许您下载它 我们存储来自搜索引擎的大量搜索结果 并使用脚本打开包含我们的信息和搜索 html 的文件 我们从顶部 我们的信息 中删除不需要的内容
  • 在 ARMv7 IMX6Q 板上运行 NodeJs 时出错,如何修复?

    我想要的是 我想在没有互联网但有网络连接的 ARMv7 freescale imx6q 板上运行 nodejs 我做了什么 我从nodejs官方下载中获取了预构建的二进制文件 提取它们并尝试运行节点二进制文件 但它会抛出错误 没有这样的文件
  • Eclipse IDE 无法启动,并且 JVM 已终止。退出代码=-1

    我遇到了 Eclipse IDE 无法启动的问题 并显示以下错误消息 JVM 终止 退出代码 1 经过一番谷歌搜索后 我半无意地找到了解决方案 并且能够让 IDE 正确启动 我所做的是将 eclipse ini 中的 Xmx JVM 参数设
  • Fortran - 逻辑索引

    假设我有一个矩阵A这是 m x n 和一个向量B这是 m x 1 这个向量B是一个由 0 和 1 组成的向量 还让标量s是其中元素的总和B 我想创建一个矩阵C这是s x n对应于行B等于 1 并且是一个向量D即 s x 1 这些元素的位置在
  • AspNetCore 2.0 Identity - 注入 RoleManager 的问题

    我需要为角色创建 CRUD 操作 我收到以下错误 无法解析类型 Microsoft AspNetCore Identity RoleManager 的服务 那么 我怎样才能注入roleManager呢 我正在使用 asp net core
  • 在 2008 年后的 Visual Studio 中开发 .NET Compact Framework 应用程序?

    我想为 Windows CE 6 0 目标设备开发一个 Compact Framework 应用程序 我可以使用 Visual Studio 2013 执行此操作吗 如果这不可能 net 紧凑框架的开发环境是什么 我确信这个问题是重复的 但
  • 使用 beautiful soup 清理 scrapy 中刮掉的 HTML

    我正在使用 scrapy 尝试从 Google Scholar 中抓取一些我需要的数据 例如 考虑以下链接 http scholar google com scholar q intitle 3Apython xpath http scho
  • Perl 中的 if( -f ) 有何作用?

    我遇到了这行代码 if f
  • firebase 对象应该是 swift 中的单例吗?

    在firebase sdk的ios Swift实现中 firebase对象应该存储在单例中吗 或者它是否自动管理和关闭视图之间的连接 例如 在每个视图中创建一个 firebase 对象会创建多个套接字连接吗 只保留一个 firebase 对