Swift 3类/属性引用语法 - Couchbase Lite

时间:2017-06-25 18:47:15

标签: swift class reference couchbase

我希望我可以在Swift 3中获得一些语法方面的帮助,因为我对它很新,并开始深入研究那些我读过的简单书中的内容。我确实在谷歌附近狩猎,似乎很难找到我正在寻找的东西。我正在尝试使用Couchbase Lite。

所以在我的AppDelegate类中,我创建了一个变量,如“var database:CBLDatabase!”

在“func application(didFinishLaunchingWithOptions)”中,我调用startSession(),该函数调用openDatabase(),然后使用以下命令正确打开我的数据库:

try database = CBLManager.sharedInstance()。openDatabaseNamed(dbname,with:options)

我可以使用查询获取数据库中的数据。此时,我正在设置一些默认的全局变量和一些数组,以便在应用程序的其他地方使用。

我的应用程序有一些viewcontrollers,在其中一个中,我想回到查询数据库。我想使用我在AppDelegate类中设置的“数据库”对象设置另一个查询。我认为它会是这样的:

让query2 = AppDelegate.database.viewNamed(“myquery”)。createQuery()

但是当我开始输入语句时,自动填充程序从未找到类似的东西。我在其他帖子中找到了一些帮助,但我似乎无法获得正确的语法。

非常感谢任何帮助。

谢谢, 大卫

编辑:我确实通过将“数据库”置于AppDelegate类定义之上来使其成为全局变量,但我不确定这是最佳实践,我希望最大限度地减少全局变量的使用。

1 个答案:

答案 0 :(得分:0)

我建议使用单例模式来托管您需要在视图控制器中访问的全局变量,而不是将内容放入AppDelegate中。基本上有一个“DatabaseManager”单例类,它创建数据库实例并使其可用于其他视图控制器。请参阅此code snippet作为示例。