gpt4 book ai didi

ios - 核心数据中的UIImage

转载 作者:行者123 更新时间:2023-12-01 18:29:21 26 4
gpt4 key购买 nike

此代码应将uiimage保存到核心数据。图像存储在其自己的实体中,并被另一个实体喜欢(关系)

   NSEntityDescription *imageEntity = [ NSEntityDescription insertNewObjectForEntityForName:kImage inManagedObjectContext:self.context];
[imageEntity setValue:self.image forKey:kPicture];

[newPerson setValue:imageEntity forKey:kPicture];

NSError *error;
if (![self.context save:&error]) {
NSLog(@"Whoops, couldn't save new associate: %@", [error localizedDescription]);
}

在这里,我尝试取回它,并将其放在自定义单元格的uiimageview中
  Person *crt = [self.fetchController objectAtIndexPath:indexPath];
cell.name.text = crt.name;
Image *img = crt.picture;
cell.image.image = img.picture;

这仅在首次添加图片时有效...重新启动应用程序后,图片不再显示。为什么?设置为可变形属性

最佳答案

您只能将UIImage添加为二进制数据。因此,您需要执行的操作将您实体的属性类型设置为Binary Data,并使用CoreGraphics'方法UIImagePNGRepresentation(UIImage *image),该方法返回NSData并以这种方式保存。如果要从数据库中提取它,则可以获取NSData并使用[UIimage imageWithData:(NSData *data)]方法创建图像。
但是我认为最好的实现方法是在数据库中仅存储图像的本地路径,而实际文件存储在应用程序的Documents文件夹中的一个文件夹中……只是一个建议。

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

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