Core Data是否对字符串的长度施加限制?

adr*_*aan 8 core-data objective-c nsstring ios

我想知道在iOS中使用Core Data存储的字符串长度是否有任何限制.(除了设备上的可用RAM或磁盘空间)

Abi*_*ern 8

我认为在您达到Core Data中的任何存储限制之前,您更有可能达到iOS设备的性能限制.您还可以通过提取大量数据来获得性能提升.

在性能和可管理性方面你都会变得更好,将大块文本分成更小的块.

从我记得Marcus Zarra告诉我的.


Jak*_*lik 6

只是为了确认,CoreData 中没有具体限制(不包括内存/磁盘空间限制)。在 iOS 上使用 CoreData 时,几乎在所有情况下都会使用 sqlite 作为持久存储。CoreData 将 String 存储为 Varchar,从 sqlite 的角度来看:

SQLite 不强制 VARCHAR 的长度。您可以声明一个 VARCHAR(10),SQLite 将很乐意在其中存储 5 亿个字符串。它将完整保留所有 5 亿个字符。您的内容永远不会被截断。SQLite 将“VARCHAR(N)”的列类型理解为与“TEXT”相同,无论 N 的值如何。

...摘自sqlite 的常见问题解答