在Mac应用程序中使用SQLite

4
我正在寻找一个好的教程/起点来使用SQLite在MacOSX应用程序中。我有iPhone开发知识,但以前从未处理过SQLite,我的所有应用程序都是企业级别的,我与RESTFul服务器通信以发布和获取数据,所有SQL相关的内容都在服务器端。
我所有的搜索尝试都返回了iPhone结果和一些UI包装程序OSX,我猜那里的编码者比iPhone少 :)
我只是想让我的应用程序:
1. 当它第一次运行时,检查并创建一个数据库(如果不存在)。我更喜欢使代码调用一个sql脚本,如果不存在它将创建db,或者如果存在,它可以检查并确保所有表格、FK关系..etc都是正确的。(我知道如何做这个脚本,我只需要在cocoa OSX应用程序中如何调用)
2. 基本的SQL操作。插入/更新/删除?
但在这之前,SQLite3是MAC OSX应用程序的正确方法还是我应该继续使用plist文件?用户“Normal”能否破坏SQLite3的状态?是否有任何权限问题需要担心?我希望我的用户只需启动应用程序,我将为他们完成所有后台工作(我知道我将支持10.8+)?
2个回答

4
根据您的数据需求,您可能考虑使用Core Data。它并非适用于所有情况,但可以尝试一下。它可以在后端以XML、sqlite格式存储数据,因此可以根据应用程序的数据特征选择合适的格式。
如果您确定要直接使用SQLite,则FMDB是一个很好的包装器。我几年前为客户在Mac应用程序中使用了FMDB,效果还不错。
即使FMDB不符合您的风格,阅读源代码也可以给您展示sqlite API的良好示例。

2

如果你是iOS开发者,那么你应该知道Core Data,它可能比原始的SQLite更适合Mac应用程序。


我会重新考虑这个问题,看它是否支持具有回滚和提交的事务处理。 - user2708681
2
在Core Data中,您有撤消管理。但是 - 不要将其视为数据库,而是一个对象图。许多人在学习Core Data时会陷入困境,因为他们将其视为具有表和连接的数据库,而不是实体和关系。 - Abizern

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接