gpt4 book ai didi

ios - RestKit CoreData 和 UIImage

转载 作者:行者123 更新时间:2023-11-29 12:45:59 25 4
gpt4 key购买 nike

我将 Rest Kit 与 Core Data 一起使用,其中一个 Core Data 实体具有二进制类型的属性“图像”。

我仍处于模型阶段,因此图像中填充了以下代码:

UIImage *image = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://lorempixel.com/60/60/people"]]];
entry.image = UIImagePNGRepresentation(image);

另一个选项卡有一个使用 fetchedResultsController 的 Collection View 。

创建新实体后,如果我只保存上下文图像就可以正常工作。

但是,如果我使用“postObject:”将实体推送到网络服务器,那么当它从服务器返回时图像就会损坏。我已经确认服务器接收到图像“<2f396a2f 34414151 536b5a4a 52674142 ... 6a6e502f 32513d3d>”的相同字符串表示并将其直接存储到 long blob 类型的 MySQL 列中,并且在所有点上字符串表示都是相同的。

但是当通过 RestKit 使用服务器调用填充 Collection View 时,实体图像无效。我认为问题在于数据正在转换为数据描述的数据表示形式。

有没有人有图像的工作示例。我唯一能想到的是我需要添加一个自定义转换,但就如何实际实现一个转换而言,文档和示例都缺乏。

最佳答案

RestKit 正在为 Core Data 中的图像存储纯 NSData - 它不知道您还想用它做什么。通常您不想直接在 Core Data 中或使用 RestKit 管理图像。

一般在Core Data中存放图片的路径,在磁盘上存放文件。异步下载它们(从也将在 Core Data 中的 URL)。

对于上传,您可以让 RestKit 上传数据,但您可能实际上想要文件上传或转换为 base64。您将需要为此编写一些代码(您可以让 RestKit 通过使用返回适当数据的方法名称的键来获取这些代码)。类似的过程将用于映射数据。

RestKit 数据转换器很难在这种情况下工作,因为您要在数据和字符串之间进行转换,而且它们过于通用,无法准确拦截。

关于ios - RestKit CoreData 和 UIImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23687760/

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