gpt4 book ai didi

iphone - 如何在 Core Data 中存储图像?

转载 作者:行者123 更新时间:2023-12-03 18:41:16 24 4
gpt4 key购买 nike

只是猜测:我创建了一个属性并使其类型为“二进制”。但最终我该如何使用它呢?我猜幕后有一个 NSData ?那么该属性实际上采用 NSData 吗?

最佳答案

这个问题已被问过很多次,答案有点复杂。

当涉及到二进制数据时,您应该根据您将要使用的数据的预期大小来确定如何存储它。规则是:

  • 小于 100K;作为二进制属性存储在主表中
  • 小于1M;作为二进制属性存储在辅助表中以避免过度获取
  • 大于1M;存储在磁盘上并将其文件路径存储在 Core Data 表中。

此外,当您存储图像时,建议以标准格式存储,例如JPG或PNG。通过使用可转换属性类型,当实际存储是 PNG 表示形式时,您实际上可以让子类提供访问 UIImage 类的外观。我在 Cocoa Is My Girlfriend 上的博客文章中详细讨论了这一点。 .

更新

在磁盘上存储> 1M二进制数据的原因是缓存。 NSPercientStoreCoordinator 将保留数据缓存,以便当您的应用程序请求“下一个”对象时,它不需要返回到磁盘。这个缓存确实工作得很好。不过它很小,在 iOS 上非常小。如果您提取大量二进制数据,您很容易就会耗尽整个缓存,并且您的整个应用程序会受到很大影响。

关于iphone - 如何在 Core Data 中存储图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2985192/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com