objective-c – 哪种方式存储数据(图像)? NSData,String或Transformable

objective-c – 哪种方式存储数据(图像)? NSData,String或Transformable,第1张

概述我一直在使用base64编码.我已成功将图像编码为NSData的NSString,我还将其解码回NSData. 所以现在我想将图像存储在Core Data中.但是最好存储NSString,NSData还是第三个可转换的? 我将图像转换为NSString的原因是因为我想将它存储在XML中. 提前致谢. 使用NSValueTransformer将图像转换为NSData对象,然后将数据blob存储在Co 我一直在使用base64编码.我已成功将图像编码为NSData的Nsstring,我还将其解码回NSData.

所以现在我想将图像存储在Core Data中.但是最好存储Nsstring,NSData还是第三个可转换的?

我将图像转换为Nsstring的原因是因为我想将它存储在XML中.

提前致谢.

解决方法 使用NSValuetransformer将图像转换为NSData对象,然后将数据blob存储在Core Data中.您可以在建模工具中注册值变换器子类.您可以查看Apple的Photolocations示例,或者此 tutorial显示如何.

编辑完整性:正如其他人指出的那样,数据blob太大会导致性能问题.正如@Jesse所指出的,iOS5有一个优化,如果数据blob太大,那么Core Data会将它存储在持久存储之外.如果您必须在iOS5之前定位并且图像太大,那么您应该将文件保存在沙箱中的某个位置并将URL存储在Core Data存储中.在Apple Dev Forums is here中进行了很好的讨论,并讨论了在Core Data中存储数据blob的限制.

祝好运

总结

以上是内存溢出为你收集整理的objective-c – 哪种方式存储数据(图像)? NSData,String或Transformable全部内容,希望文章能够帮你解决objective-c – 哪种方式存储数据(图像)? NSData,String或Transformable所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1035191.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-24
下一篇2022-05-24

发表评论

登录后才能评论

评论列表(0条)

    保存