作者:吟荣wekenbo | 来源:互联网 | 2023-05-28 16:38
我正在开发一个iOS应用程序,我想为它设置一个关系数据库.我读到SQLite是一个很好用的数据库.我在Swift中制作应用程序.我看了几个教程,但似乎我找到的所有教程都有ObjectiveManager中的DBManager类或库.因此,我需要db类的包装器.我不确定包装器是如何工作的以及我如何使用swift语法调用objective-c方法.
我想知道是否有人可以帮助澄清整个过程,从创建数据库文件并将其添加到您的xcode项目,使用具有swift语法的objective-c库,以便对数据库文件运行查询.
另外,使用似乎更容易使用的核心数据是否值得?
1> stephencelis..:
Objective-C教程仍然或多或少相关,但显然不会将Swift特定的细节带入折叠中(FMDB目前也没有,正如另一位评论者所推荐的那样).我最后编写SQLite.swift来利用Swift的一些更有趣的方面(类型安全和泛型,选项):
https://github.com/stephencelis/SQLite.swift
SQLite.swift提供了编译时的安全性/置信度,并且不再需要大量的错误处理.语句和表达式是在Swift中构建的,因此不太可能出现运行时SQL语法错误.
有关创建数据库文件及其存储位置(根据您的需要)的更多信息,请参阅文档:
https://github.com/stephencelis/SQLite.swift/blob/master/Documentation/Index.md#connecting-to-a-database
就核心数据而言,它(与此答案时的大多数Apple库一样)不利用Swift,但具有丰富的遗产,可能是要走的路,特别是对于较小的持久对象图.但是,如果您想要控制关系数据库,或者您计划存储经常更改的大型数据集,您可能会对Core Data(以及您需要获得的特定于域的知识)感到沮丧,