热门标签 | 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都是如此.


推荐阅读
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社区 版权所有