gpt4 book ai didi

ios - 如何在核心数据中保存图像的引用(图像 URL 或路径)并在需要时加载?

转载 作者:行者123 更新时间:2023-11-29 03:27:08 24 4
gpt4 key购买 nike

我正在开发一个应用程序,我需要从设备相机拍摄照片和视频并在 Collection View 中显示它。该应用程序将图像和视频保存在相机胶卷中,因此我需要在 coredata 中保存这些资源的引用,以便应用程序稍后可以加载它。

我正在使用常规函数,例如,

writeImageToSavedPhotosAlbum:[cameraMedia CGImage]
metadata:metaData
completionBlock:^(NSURL *assetURL,NSError *error)

writeVideoAtPathToSavedPhotosAlbum:mediaUrl
completionBlock:^(NSURL *assetURL, NSError *error)

在这里我可以轻松获取 assetURL。但我不确定是否可以将 assetURL 直接保存在 coredata 中,如果不能,我应该如何保存图像引用并稍后从保存引用中有效地重新加载它?

为了澄清我的问题,我知道如何使用核心数据。我的问题是我应该在核心数据中保存什么作为图像/视频引用?例如,assetURL 是 NSURL 对象,可能我无法将其保存为 coredata 中的字符串。那么,有没有什么办法可以将URL转换并保存到coredata.txt中呢?稍后如何从 coredata 中保存的引用加载图像?

最佳答案

获取 Assets URL 的方法如下:

[yourAssetsLibrary  writeImageToSavedPhotosAlbum:[cameraMedia CGImage]
metadata:metaData
completionBlock:^(NSURL *assetURL, NSError *error) {
NSLog(@"%@", assetURL);// this what you need to save
}];

保存在核心数据中:

NSManagedObjectContext *context = [fetchedResultsController managedObjectContext];
NSEntityDescription *entity = [[fetchedResultsController fetchRequest] entity];
YOURENTITY *yourEntity = (YOURENTITY *) [NSEntityDescription insertNewObjectForEntityForName:[entity name] inManagedObjectContext:context];
[yourEntity setValue:assetURL forKey:@"imagePath"];// save it here

NSError *error;
if (![context save:&error]) {
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}

关于ios - 如何在核心数据中保存图像的引用(图像 URL 或路径)并在需要时加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20308511/

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