gpt4 book ai didi

ios - 将 UIImage 保存到核心数据中; NSValueTransformers 的问题

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

我正在尝试将从 iPhone 相机拍摄的照片保存到核心数据。

我有从相机拍摄的 UIImage。之后,我不知道我应该做什么。

每张图片都与一个问题实体相关联。现在问题实体没有图像字段。它与图像实体有关系。这样每个问题都可以有许多与之关联的 UIImage。

所以我创建了一个问题实体。现在,如何将 UIImage 保存到核心数据中到图像实体中,以及如何将其与问题实体连接起来?我需要创建一个图像实体吗?我创建了一个 ImageToDataTransformer,但我不知道谁调用它——核心数据还是我?在我的 xcdatamodel 中,我有一个图像实体。我在那里放入 ImageToDataTransformer 。

我知道我应该将 url 存储到 UIImage,但我想了解如何存储图像。这对我来说似乎有点令人困惑。

谢谢

Question *question = [NSEntityDescription insertNewObjectForEntityForName:@"Question" inManagedObjectContext:managedObjectContext];
question.date = [NSDate date];

ImageToDataTransformer *transformer = [[ImageToDataTransformer alloc]init];
NSData *imageData = [transformer transformedValue:mm];//mm is an id, but it is the UIImage saved from the camera.
question.image = imageData;

最佳答案

我建议您创建一个 QuestionImage 实体(或类似的名称)并为其指定一个名为 path 的字符串属性。此路径将存储磁盘上您之前写出图像的位置。将图像放置在文档文件夹中将确保它不会被任何缓存转储清除。在您的 QuestionImage 实体(或任何您命名的实体)的实现中,您可以实现prepareForDeletion并从磁盘中删除图像,以确保您没有任何未引用的图像。

在 Core Data 中存储二进制数据可能很麻烦,应尽可能避免。

关于ios - 将 UIImage 保存到核心数据中; NSValueTransformers 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6903592/

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