gpt4 book ai didi

ios - 在 ios dev Schema 中禁用 firestore

转载 作者:行者123 更新时间:2023-11-29 05:16:24 24 4
gpt4 key购买 nike

我正在开发一个 swift 项目,这就是我想要做的:我有一个服务类,负责将数据保存到firestore(批量插入或单个插入)。该服务在几个 View Controller 中使用。当使用我的开发架构时,我希望应用程序不要向 Firestore 写入任何内容。

目前,我有一个环境变量充当标志,在我的服务中的每个函数中,我需要检查是否设置了保存数据

func singleInsert(collection: String, data: [String: Any], id: String?) {
if !isLoggingEnabled {
// just print some stuff
return
}
// save my data in firestore
}

它有效..但它真的很难看,我想知道是否有更好的方法来做到这一点。值得注意的是,我只想在我的服务类别中禁用 firestore。应用程序中的某些实例(不使用该服务)需要始终启用 Firestore。

最佳答案

我最终使用了接近工厂模式的东西。

class RealTimeEventFactory {

var realTimeEventServiceImpl: RealTimeEventProtocol

init(isLoggingEnabled: Bool, errorHandler: ErrorHandlerProtocol) {
if isLoggingEnabled {
self.realTimeEventServiceImpl = RealTimeEventService(errorHandler: errorHandler)
} else {
self.realTimeEventServiceImpl = RealTimeEventServiceMock()
}
}
}

所以我有两个服务都符合相同的协议(protocol)。根据 isLoggingEnabled 标志,工厂将生成所需的实例。

它并不完美,但似乎工作正常

关于ios - 在 ios dev Schema 中禁用 firestore,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59146754/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com