热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《firebase对象应该是swift中的单例吗?》经验,为你挑选了1个好方法。

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

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

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

小智.. 9

你不需要制作一个单身人士.在幕后,Firebase管理单个连接,如果您有多个Firebase对象,或者即使您在一个位置有多个观察者,也会进行相应的重复数据删除.如果您为每个视图创建一个新的Firebase对象,只要它使用相同的基本URL,它仍将使用与服务器相同的连接.

虽然您不需要管理自己拥有的Firebase对象数量,但您应该管理您的观察者.这些不会在视图之间删除.要删除观察者,可以使用方法FirebaseHandle返回observeEventTyperemoveObserverWithHandle:方法或调用removeAllObservers.请注意,这两种方法都要求您在与附加观察者的位置相同的URL位置调用它们(尽管它不必是相同的对象,只是相同的URL).如果您不删除观察者,您可能会看到它们从您离开的视图中触发,因为其他人正在更改数据.您可以在Detaching Blocks下的文档中阅读更多内容.

Swift或Objective-C都是如此.



1> 小智..:

你不需要制作一个单身人士.在幕后,Firebase管理单个连接,如果您有多个Firebase对象,或者即使您在一个位置有多个观察者,也会进行相应的重复数据删除.如果您为每个视图创建一个新的Firebase对象,只要它使用相同的基本URL,它仍将使用与服务器相同的连接.

虽然您不需要管理自己拥有的Firebase对象数量,但您应该管理您的观察者.这些不会在视图之间删除.要删除观察者,可以使用方法FirebaseHandle返回observeEventTyperemoveObserverWithHandle:方法或调用removeAllObservers.请注意,这两种方法都要求您在与附加观察者的位置相同的URL位置调用它们(尽管它不必是相同的对象,只是相同的URL).如果您不删除观察者,您可能会看到它们从您离开的视图中触发,因为其他人正在更改数据.您可以在Detaching Blocks下的文档中阅读更多内容.

Swift或Objective-C都是如此.


推荐阅读
  • IOS Run loop详解
    为什么80%的码农都做不了架构师?转自http:blog.csdn.netztp800201articledetails9240913感谢作者分享Objecti ... [详细]
  • 基于iSCSI的SQL Server 2012群集测试(一)SQL群集安装
    一、测试需求介绍与准备公司计划服务器迁移过程计划同时上线SQLServer2012,引入SQLServer2012群集提高高可用性,需要对SQLServ ... [详细]
  • 用阿里云的免费 SSL 证书让网站从 HTTP 换成 HTTPS
    HTTP协议是不加密传输数据的,也就是用户跟你的网站之间传递数据有可能在途中被截获,破解传递的真实内容,所以使用不加密的HTTP的网站是不 ... [详细]
  • 本文详细介绍了在 React Native 开发过程中遇到的 'Could not connect to development server' 错误及其解决方法。该问题不仅影响开发效率,而且难以通过网络资源找到确切的解决方案。本文将提供详细的步骤,帮助开发者快速解决这一常见问题。 ... [详细]
  • MicrosoftDeploymentToolkit2010部署培训实验手册V1.0目录实验环境说明3实验环境虚拟机使用信息3注意:4实验手册正文说 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 大家好,我是李白。本文将分享一个从零开始的全栈项目,涵盖了设计、前端、后端和服务端的全面学习过程。通过这个项目,我希望能够帮助初学者更好地理解和掌握全栈开发的技术栈。 ... [详细]
  • 本文介绍了如何通过Sybase Central连接到示例数据库,并查看其中的表和其他对象。主要内容包括启动Sybase Central、建立连接、查看表列表及表的具体信息。 ... [详细]
  • 本文深入解析了 Kubernetes 控制平面(特别是 API 服务器)与集群节点之间的通信机制,并对其通信路径进行了详细分类。旨在帮助用户更好地理解和定制其安装配置,从而增强网络安全性,确保集群的稳定运行。 ... [详细]
  • 在软件开发过程中,经常需要将多个项目或模块进行集成和调试,尤其是当项目依赖于第三方开源库(如Cordova、CocoaPods)时。本文介绍了如何在Xcode中高效地进行多项目联合调试,分享了一些实用的技巧和最佳实践,帮助开发者解决常见的调试难题,提高开发效率。 ... [详细]
  • 本文详细介绍了如何在Java Web服务器上部署音视频服务,并提供了完整的验证流程。以AnyChat为例,这是一款跨平台的音视频解决方案,广泛应用于需要实时音视频交互的项目中。通过具体的部署步骤和测试方法,确保了音视频服务的稳定性和可靠性。 ... [详细]
  • 在使用Block时,正确的声明方法和确保线程安全是至关重要的。为了保证Block在堆中分配,应使用`copy`修饰符进行声明,因为栈中的Block与栈的生命周期绑定,容易导致内存问题。此外,还需注意Block捕获外部变量的行为,以避免潜在的循环引用和数据不一致问题。建议深入研究相关文档,以掌握更多高级技巧和最佳实践。 ... [详细]
  • iOS开发中MVC架构模式的深入解析(第一部分)
    在iOS开发中,MVC架构模式是常用的设计模式之一。本文将深入解析MVC架构的第一部分,重点介绍View组件。View组件继承自UIView,主要负责内容的展示(如UILabel等视图类)和用户输入的处理(如UIButton等控件类)。通过详细的代码示例和实际应用,帮助开发者更好地理解和掌握View在MVC架构中的作用和实现方式。 ... [详细]
  • PyThon_Swift 势必取代 Python?
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Swift势必取代Python?相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 项目地址:github.comDanie1sDNS…DNSPageViewDNSPageView一个纯Swift的轻量级、灵活且易于使用的pageView框架 ... [详细]
author-avatar
我是雅婷姑娘
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有