【问题标题】:Sqlite3 database in objective-c [need advice]Objective-C中的Sqlite3数据库[需要建议]
【发布时间】:2014-04-19 15:22:47
【问题描述】:

我正在使用 FMDB 库来存储消息(聊天应用程序)。它是 sqlite3 的 Objective-C 包装器。我有单例,所有查询都实现了。

举例:

NSString *query = [NSString stringWithFormat:@"UPDATE table_name SET some_col = some_value;"];

[database open];
[database executeUpdate:query];
[database close];

那么,我应该为每个查询打开数据库并关闭,还是在我的单例初始化时只打开一次并在应用程序终止时关闭?

另外,存储数据(消息)的最佳方式是什么?

【问题讨论】:

    标签: ios objective-c sqlite fmdb


    【解决方案1】:

    您应该为每个查询打开和关闭。 看起来对设备来说需要做很多工作,但它会让你免于大量错误。

    【讨论】:

    • 能不能详细写一下,什么样的bug?据我所知
    • 这是我在使用 C# 和 Java 开发时学到的。我认为它适用于每一种编程语言。仅供参考,打开数据库在时间和资源方面都很昂贵。因此,您必须打开它的次数越少,您的程序将获得更好的性能。连接将返回到池中并稍后重用。这个bug可能是因为我当时是菜鸟(通过关闭连接修复了这个问题,你应该自己尝试一下)。
    • 如何存储数据?
    • 这取决于您要存储的内容。对于应用程序设置,您应该使用NSUserDefaults。对于密码等私人数据,您可以使用keychain。对于一般数据,使用 sqlite3FMDB 是很好的。如果你想更高级,你可以试试Core Data
    • 哦,对不起 :D 在数据下我的意思是一条消息。我正在编写基于聊天的应用程序(第一次)
    猜你喜欢
    • 2013-01-10
    • 2012-05-19
    • 2014-10-22
    • 2019-06-22
    • 1970-01-01
    • 2016-12-16
    • 1970-01-01
    相关资源
    最近更新 更多