我想知道在 iOS 中使用 Core Data 存储的字符串长度是否有任何限制。(设备上的可用 RAM 或磁盘空间除外)
问问题
6387 次
4 回答
10
我认为在达到 Core Data 的任何存储限制之前,您更有可能达到 iOS 设备的性能限制。拉入大量数据也会对性能造成影响。
在性能和可管理性方面,你最好将大块文本分解成更小的块。
无论如何,据我记得马库斯·扎拉告诉我的。
于 2012-04-26T04:04:21.490 回答
4
只是为了确认一下,CoreData 没有特定的限制(不包括内存/磁盘空间限制)。在 iOS 上使用 CoreData 时,您几乎在所有情况下都使用 sqlite 作为持久存储。CoreData 将 String 存储为 Varchar 并且从 sqlite 的角度来看:
SQLite 不强制 VARCHAR 的长度。您可以声明一个 VARCHAR(10),SQLite 很乐意在其中存储 5 亿个字符串。它将保持所有 5 亿个字符完好无损。您的内容永远不会被截断。SQLite 将“VARCHAR(N)”的列类型理解为与“TEXT”相同,无论 N 的值如何。
...取自sqlite 的常见问题解答
于 2016-02-02T14:13:21.603 回答
3
据我所知,它没有限制,除非您在模型文件中指定一个(有一个最小长度和最大长度部分)。
于 2012-04-26T02:36:52.687 回答
1
我不记得阅读过 Core Data 文档中的任何限制,但请记住 Core Data 只是一个真实数据库之上的框架,通常是 sqlite。我认为可以安全地假设限制是由底层数据库决定的。
于 2012-04-26T03:39:47.083 回答