【发布时间】:2026-02-20 07:55:02
【问题描述】:
我一直在阅读 iOS 固件中包含的 SQLite3,它可能满足我正在编写的应用程序的需求。
我不知道它是持久的还是像某些对象一样消失了。
例如,如果我执行sqlite3_open(),它似乎是一个 C 函数而不是一个 Objective-C 对象,如果我在我的应用程序开始时打开它,它会一直保持直到我关闭它,无论有多少视图我到处推/弹出。
显然,这取决于我把它放在哪里,但如果我在做一个通用应用程序并且有一些用于加载/保存 iPhone/iPad 通用的数据的中心功能,如果在我的didFinishLoading 中:我放了一个调用以打开 SQLite 数据库,然后调用各种 exec 的查询,它是否会在应用程序的整个生命周期中保持持久性。
或
我最好根据需要打开和关闭,我来自 PHP 背景,所以我通常会在脚本开始时打开一个数据库,然后运行许多查询,最后在浏览器输出之前关闭它。
从过去几个月我了解的第 1,000,000 次 iOS 编程中,我认为后者可能是更好的方法,因为应用程序可能会过早退出或进入后台。
我只想对我的想法提出第二意见。
【问题讨论】: