gpt4 book ai didi

ios - 将 NSData 数组转换为 UIImage 数组

转载 作者:行者123 更新时间:2023-11-29 01:44:27 28 4
gpt4 key购买 nike

事情是这样的。在我的应用程序中,我想在 CollectionView 上显示存储在核心数据中的照片(是的,我使用外部存储)。为了仅获取我的实体中的照片,我执行以下操作:

NSManagedObjectContext *managedObjectContext = [self managedObjectContext];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] initWithEntityName:@"SmallThing"];
[fetchRequest setResultType:NSDictionaryResultType];
[fetchRequest setPropertiesToFetch:[NSArray arrayWithObjects:@"smallphoto", nil]];
self.photos = [[managedObjectContext executeFetchRequest:fetchRequest error:nil]mutableCopy];

这似乎工作正常,它返回照片的数据并将其存储在数组中。然后我创建了一个将它转换为 UIImage 的方法,这样我就可以存储在另一个数组上,如下所示:

- (NSMutableArray *)convertDataToImage:(UIImage *)image {
for (NSData *data in self.photos) {
image = [[UIImage alloc] initWithData:data];
[self.images addObject:image];
}
return self.images;
}

当我到达 image = [[UIImage alloc] initWithData:data 行时,它崩溃了,我收到以下错误:

[16697:2367280] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSKnownKeysDictionary1 length]: unrecognized selector sent to instance 0x7fae0c117cc0'

我不知道我还能做什么。有什么想法吗?

提前致谢

最佳答案

您明确告诉获取请求返回字典行:

[fetchRequest setResultType:NSDictionaryResultType];

这意味着 executeFetchRequest... 返回的数组包含 NSDictionary 对象,键值对对应于您指定的属性。

convertDataToImage 中的代码应遵循以下行:

for (NSDictionary *dictionary in self.photos) {
NSData *data = dictionary[@"smallphoto"];
...
}

如果您指定了除 smallphoto 之外的其他属性来获取,您当然会根据需要替换该字符串。

关于ios - 将 NSData 数组转换为 UIImage 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32084305/

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