objective-c - 核心数据文件大小

标签 objective-c cocoa core-data

我正在考虑将大量数字存储为 Int16。考虑核心数据,因为其余模型都是在核心数据中实现的。

所以我做了一个简单的应用程序。具有 1 个实体和 1 个 Int16 类型属性的核心数据。在SQLite存储类型中插入100万条条目,文件大小为16.2MB。实际上,如果我更改为 Int64,我会得到相同的文件大小。如果编写简单的二进制 C 数组,应该在 2MB 左右。

所以问题是,如果所有内容都会被转换为 NSNumber 的话,为什么核心数据还要烦恼这么多不同类型的数字格式呢?有没有办法让Core data将数据存储为真正的Int16?或者 C 语言中的 short

谢谢。

最佳答案

仅仅因为 Core Data 支持所有这些数字格式并不意味着底层存储引擎必须以不同的方式存储它们。如果您尝试使用二进制存储,您可能会得到不同的文件大小。

为了存储这么多整数,我会将它们全部放入 NSData 对象中,并将其存储在 Core Data 中。

关于objective-c - 核心数据文件大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3675810/

相关文章:

ios - NSDateFormater - 返回同一年的 2015 年和 2016 年日期

objective-c - 文件类型的 cocoa 图标?

objective-c - 我的 NSView 子类不会刷新/重绘,但会调用 -drawRect

ios - 核心数据与 NSFetchedResultsController :Invalid update with with a property in fetchObjects

swift - 快速获取具有一对多关系的 coredata

ios - 如何使用 NSRegularExpressionSearch 在 NSString 中查找项目符号或编号的项目符号?

iphone - 以编程方式将 UIButtons 添加到 UIScrollView 在循环完成之前不会显示

ios - 无法在 iOS 中使用 Google Drive api v3 列出特定文件夹中的文件

objective-c - 基于操作系统版本的条件方法

iphone - iCloud 无法正确同步 Core Data (iOS7)