如何正确地在cocoa app中保存SQL数据

时间:2014-09-26 17:55:55

标签: objective-c cocoa sqlite

所以基本上我使用libsqlite3.dlyb将SQL功能带到我的应用程序。这一切都很顺利我可以节省负载并更新e.t.c。

问题是我的应用程序可能会在任何时候处理1000个对象,所有对象都安排在NSTableViews中,并且可能需要几秒钟(我的自定义对象中有1000个左右)才能更新到SQL数据库。因此,如果用户在与数据库联系时退出应用程序,则代码会被拆除,最终会有一半更新的数据库和.db-journaled文件,以及一般的肮脏。

我的问题是:我应该如何保存SQL数据?我应该在applicationWillTerminate:方法中完成所有操作吗?我听说苹果不喜欢在那里进行繁重的任务。或者在编辑对象后立即执行此操作?或者是什么?

我已经看过使用XPCService来完成应用程序的所有SQL端,但是我担心如果我获得服务来更新数据加载然后在UPDATE完成之前要求它进行SELECT我会发生冲突。是这样的吗?或者XPCServices是否足够协调以避免这种情况?

我在运行10.10的macbook pro上使用Xcode 6 beta。我的应用程序位于objective-c中,并将其数据保存在沙盒应用程序支持文件夹中。

提前致谢。

0 个答案:

没有答案