objective-c – 哪种方式存储数据(图像)? NSData,String或Trans
发布时间:2020-12-14 18:56:44 所属栏目:百科 来源:网络整理
导读:我一直在使用base64编码.我已成功将图像编码为NSData的NSString,我还将其解码回NSData. 所以现在我想将图像存储在Core Data中.但是最好存储NSString,NSData还是第三个可转换的? 我将图像转换为NSString的原因是因为我想将它存储在XML中. 提前致谢. 解决方法
我一直在使用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的限制. 祝好运 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |