我应该将 sqlite 数据库文件写入文档目录还是库/缓存吗?

2023-11-24

我已经阅读了 Apple 的数据存储指南,并且对于应该将我在应用程序中创建的 sqlite 数据库文件保存在哪里感到非常困惑。即使应用程序处于离线模式,我也想读取 sqlite 文件。我读到创建的此类文件应该保存在库/缓存中,并设置“不备份”标志。请建议我执行相同操作的正确方法。


答案取决于数据库文件的创建方式:

根据数据存储指南页面:

  1. 仅应将用户生成的或应用程序无法重新创建的文档和其他数据存储在 /Documents 目录并会自动 由 iCloud 备份。

  2. 可以再次下载或重新生成的数据应存储在/Library/Caches 目录中。文件示例 您应该将数据库缓存文件放入 Caches 目录中 以及可下载的内容,例如杂志、报纸、 和地图应用程序。

这对我来说似乎相对清楚:如果您的应用程序以编程方式创建某些内容或生成您想要保存的数据,请将其放入“缓存”文件夹中。如果它是客户自己生成的独特内容(通过键盘输入或他们手动干预和执行的操作),请将其放入“文档”中。

“不备份”意味着文件never发送到 iCloud,如果丢失,则必须从头开始重新创建(或重新安装)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我应该将 sqlite 数据库文件写入文档目录还是库/缓存吗? 的相关文章

  • iPhone,如何隐藏标签栏按钮?

    如何隐藏单个标签栏按钮 我已经搜索过 但什么也没找到 只找到了完整的栏 我已经取得了一些进展 但仍然遇到问题 此代码位于我的应用程序委托中 带有选项卡栏的出口 我在其中调用它viewDidLoad选项卡栏中显示的第一个视图的视图 void
  • 如何使用 Objective-C 协议

    我需要将 Picker 选择的值继承到其他地方 我正在尝试下面的代码 但空值即将到来 请检查我哪里出错了 我必须继承在中传递的字符串值PickerView 请检查代码 选取器1 h import
  • SpriteKit 碰撞检测中 SKSpriteNode 之间的间隙

    我已经尝试解决这个问题很长一段时间了 我有一个具有简单平台物理原理的游戏 其中玩家跌倒在一个方块上 这可以阻止他跌倒 这是可行的 但是玩家停止的位置和实际对象 精灵节点的位置之间存在明显的差距 这是一个屏幕截图 它应该是不言自明的 clas
  • NSMutableArray addObject: -[__NSArrayI addObject:]: 无法识别的选择器发送到实例

    我尝试从周日开始以 100 种方式初始化 NSMutableArray 但没有任何效果 我尝试将其设置为等于新分配和初始化的 NSMutableArray 只需分配并自行初始化变量 我能想到的每种组合都总是相同的结果 这是代码 Object
  • Facebook iOS SDK:登录 Facebook 时无需总是询问应用程序的权限

    我在我的应用程序中使用 Facebook iOS SDK 我有两个类似的问题 有没有办法知道当前是否有用户登录 我现在使用的是在成功登录时存储访问令牌和到期日期 并在应用程序启动时加载它们 我的问题是 如果会话无效 我可以为用户提供登录选项
  • 如何在 xcode 中使用相同的 nib 文件创建多个窗口

    我有一个使用表格视图作为界面的 iPhone 应用程序 每次用户点击其中一个表格单元格时 我想向用户显示另一个窗口 然而 我推入导航控制器的窗口的用户界面非常相似 因此 我决定制作一个 通用 nib 文件 以便在该通用 nib 文件的文件所
  • 在 iPhone 中保存会话数据

    我想将数据存储在应用程序中的不同点 以便应用程序中的对象可以访问这些数据 类似于 php 中的 session 或全局变量 我知道我可以使用 NSUserDefaults 但我不确定如何继续向它添加值然后访问它 例如 首先我想存储登录期间使
  • 如何使用libxml解析来解析xml数据

    这是一个我想使用libxml解析来解析的xml结构 我如何获取 campaign 标签的属性值 即ID对于 图像 标签 即url and size 如果我使用这些值 我可以提取 code 标签和 name 标签的值 static const
  • 自定义事件多久才会出现?

    我正在尝试使用 Flurry 将分析跟踪添加到 iPhone 应用程序 我已经连接了 Flurry 并且它似乎可以很好地跟踪会话和使用情况 但是 我刚刚尝试添加自定义事件日志 但每当我查看 Flurry 分析 事件 页面时 它都会告诉我 您
  • 在 iOS Swift 2 中实现“阅读更多”按钮以展开 UITextView 的最简单方法?

    我希望实现一个 阅读更多 按钮 该按钮将扩展 UITextView 以便有人可以根据需要阅读整个文本 我还没有找到一种简单的方法来实现这一目标 我尝试 玩弄 容器的高度 但它没有给我想要的结果 我真的很感激任何想法 我会推荐你 ilyapu
  • 如何使用 MPMusicPlayerController 播放音乐?

    任何人都可以建议我如何在我的应用程序中使用 MPMusicPlayerController 播放音乐 任何人的帮助将不胜感激 谢谢你 莫尼什 创建一个MPMediaPickerController这样你就可以从 iPod 中选择一些音乐 然
  • 如何检测按下的返回键并使用 UIKeyInput 协议对其进行响应?

    我有一个表视图 显示我希望用户能够编辑的列表 为了节省空间 并且让我的视图更容易看清 我创建了一个符合 UIKeyInput 协议的自定义工具栏 这样我就可以拉起键盘而无需使用任何文本字段 到目前为止 一切都很好 我有一个可变字符串正在处理
  • 如何让 Chrome Cast 在 iOS 后台运行?

    我有一个简单的问题 当您进入 iPhone 的主屏幕并且不退出应用程序时 chrome Cast 设备会停止在屏幕上播放视频 当应用程序在后台运行时 我如何才能保持播放状态 如果您有一个视频应用程序并且它在投射设备中运行 您可能需要以下行为
  • 从 iOS 设备向 Google App Engine 进行身份验证

    我正在开发一个 iPhone 应用程序 它使用 Google 应用程序引擎来托管后端 我需要通过 Google 进行身份验证 但我似乎无法找到从我的应用程序中执行此操作的方法 看来我要做一个UIWebView让用户登录到我从 Google
  • 在 UITableViewCell 内动态更改标签宽度

    我正在尝试建立一个自定义表格视图 正如您在图片中看到的 我在故事板一侧将标签的宽度默认设置为 160 磅 并在加载表格时动态更改宽度 我通过修改 cellForRowAtIndexPath 委托方法来实现此目的 因此 根据日期的长度 我设置
  • 通过选择器使用自定义比较器的 NSSortDescriptor 问题

    我想将排序描述符与自定义比较器一起使用 NSSortDescriptor sortDescriptor NSSortDescriptor alloc initWithKey object dateTime ascending YES sel
  • 如何在 iOS 应用程序中检测所有可用的 Wifi 网络并连接到其中之一

    在我的 iOS 应用程序中 我想检测所有可用的 wifi 网络 然后从列表中选择一个网络并连接到它 目标是不打开应用程序内置的设置来连接 Wi Fi 而是在我的应用程序中完成这一切 首先 这可能吗 如果可能的话 请指出要使用哪些框架和方法
  • admob ios7错误音频框架

    我正在将 admob SDK 当前的 集成到我的上一个应用程序 IOS7 Xcode5 中 并且出现了一个新错误 在新项目上也是如此 我想我错过了一些东西 但我多次重新启动该过程 但错误仍然存 在 Undefined symbols for
  • 播放循环声音的最简单方法是什么?

    在 iPhone 应用程序中播放循环声音的最简单方法是什么 可能最简单的解决方案是使用AVA音频播放器 http developer apple com library ios DOCUMENTATION AVFoundation Refe
  • AGVTool new-version 和 What-version 不对应

    当我做 agvtool new version all 99 它更新我的 Info plist 文件 但是 如果我这样做 agvtool what version or agvtool next version 我收到此错误 There d

随机推荐

  • 我可以内联指定显式类型比较器吗?

    因此 NET 3 0 3 5 为我们提供了许多查询 排序和操作数据的新方法 这要归功于 LINQ 提供的所有简洁函数 有时 我需要比较没有内置比较运算符的用户定义类型 在许多情况下 比较非常简单 比如 foo1 key foo2 key 我
  • 返回中间变量和直接返回函数调用有区别吗?

    调用函数有什么区别吗return 然后调用该函数return在运行时获取值 如下所示 我的函数原型 int aFunc int int bFunc int 我的第一个 bFunc 返回行 int bFunc int return aFunc
  • Lattix 的开源替代品有哪些?

    我有机会与Lattix在过去 我相信它所代表的范式 分层依赖矩阵 是大规模系统架构管理的未来 然而 我工作的公司总是因为价格标签而望而却步 有人知道存在任何好的开源替代方案吗 经过一番搜索 我似乎找不到一个 这里列出了一些实现Lattix核
  • iPhone UIWebView - 如何设置缩放级别和位置?

    我在 UIWebView 中显示一系列平铺图像 并希望以编程方式设置 UIWebview 的初始缩放和查看位置 如何去做呢 将UIWebView的属性scalesPageToFit设置为YES 然后 网页会缩放以适合用户 并且用户可以放大和
  • 使用 qmake 时是否有可能通过 -isystem 传递包含

    我使用 qmake 作为 makefile 生成器并希望坚持使用它 此外 我想使用 gcc Wall Werror Wundef Wextra 来获得健壮的代码 我正在考虑 迂腐 但那是更进一步的事情 我目前的主要问题是像这样的库生成的大量
  • 访问 .NET 中 VBA 函数的返回值?

    我在 VBA 中有以下代码 位于 Excel 2007 工作簿中 Public Function Multiply a As Double b As Double As Double Multiply a b End Function 如果
  • 如何可靠地从 AttributeSet 获取颜色?

    我想创建一个自定义类 在 Android XML 文件中布局时将颜色作为其属性之一 然而 颜色可以是一种资源 也可以是多种直接颜色规范之一 例如十六进制值 有没有一种简单的首选方法来使用AttributeSet检索颜色 因为表示颜色的整数可
  • 在终端中运行文本文件

    有谁知道是否有办法在 shell 中自动运行命令列表 来自文本文件 我需要运行很多脚本 大约 1000 个 这些脚本采用 python 语言 每个有 2 个参数 dir 和 example 我制作的文本文件看起来像这样 python hom
  • SpringHibernateJpaPersistenceProvider 类未实现请求的接口 PersistenceProvider

    我很困惑 我已经好几年没有使用过 Hibernate 了 然后就再也没有使用过 Spring Boot Spring Boot 但从未与 Hibernate 或 JPA 一起使用 所以我想弄清楚如何让它为我的工作工作 我应该在周一演示一些东
  • F#:重载函数

    我的问题与此有些相关 具有泛型参数类型的函数 但我不太清楚如何做我想做的事 我想定义一个 后代函数 来包装对各种 C 类上 后代 的调用 如下所示 让后代名称 xDocument XDocument xDocument 后代名称 让后代名称
  • 错误 310(net::ERR_TOO_MANY_REDIRECTS):

    我在本地主机上没有收到此错误 只有当我上传到我的服务器时 此错误才会出现在我的页面之一上 知道我需要改变什么吗 我在网络浏览器中遇到了这个错误 其中我访问的网页重定向到另一个网页 该网页无限地重定向回原始页面 我还遇到过编程错误不断重新加载
  • 针对多个快速请求的 .htaccess 或 PHP 保护代码

    我正在寻找如何阻止外部脚本与我的网站连接的想法 我正在寻找谷歌背后同样的想法 就像在一定时间内发出一定数量的请求然后阻止 IP 地址或其他内容一样 我想也许有一个 htaccess 解决方案 如果没有 我会写一个 PHP 解决方案 非常感谢
  • 根据参数的真实类型选择重载方法

    我正在尝试这段代码 interface Callee public void foo Object o public void foo String s public void foo Integer i class CalleeImpl
  • 使用 jQuery 在文本区域中的光标位置创建工具提示

    我正在尝试在文本区域中的输入插入符号上方创建一个工具提示 如果我能够获得文本区域中插入符号的 x y 坐标 这将很容易 但是我已经搜索了一段时间 但不知道如何做到这一点 假设用户正在文本区域中输入内容 然后按某个键 例如 符号 我试图在文本
  • SQLAlchemy 中不区分大小写的字符串列?

    我可以在 sqlalchemy 中创建不区分大小写的字符串列吗 我正在使用 sqlite 并且可能有一种方法可以通过更改排序规则来通过数据库来完成此操作 但我想将其保留在 sqlalchemy python 中 在 SQLAlchemy 0
  • QQ剧情:多于两条数据

    我想画一个类似于这张图的QQ图 我设法使用两个样本获得了 QQ 图 但我不知道如何将第三个样本添加到图中 这是我的结果 这是我使用的代码 qqplot table Bedouin table Tunisia xlim c 0 25 0 25
  • 如何使用 XMLStarlet 将一个元素直接插入到另一个元素之后?

    对于这个 XML 示例
  • PHP 中的 Yield 是什么意思?

    我最近偶然发现了这段代码 function xrange min max for i min i lt max i yield i 我从没见过这个yield之前的关键字 尝试运行我得到的代码 解析错误 语法错误 第 x 行出现意外的 T V
  • TestNG 与 IntelliJ IDEA:如何在 IntelliJ IDEA 9 中使用 testng.xml 文件

    我能够在 IntelliJ 中运行 TestNG 单元测试并在窗口中查看通过 失败输出 这是没有使用任何testng xml文件 我还可以使用 maven 在命令行中运行测试 即mvn clean test Dgroups fast 效果很
  • 我应该将 sqlite 数据库文件写入文档目录还是库/缓存吗?

    我已经阅读了 Apple 的数据存储指南 并且对于应该将我在应用程序中创建的 sqlite 数据库文件保存在哪里感到非常困惑 即使应用程序处于离线模式 我也想读取 sqlite 文件 我读到创建的此类文件应该保存在库 缓存中 并设置 不备份