我有大约 60 张图像要存储在 Core Data 中,其中 30 张是头像,前缀为 avt_filename_00X.png,其中 30 张较小,前缀不同。
我不想将所有图像存储为 Core Data/SQLite 中的 BLOB,而是存储找到的每个图像的路径(与存储 MySQL 数据库的图像路径相同)。
但是我不确定如何获取 NSBundle 中的图像路径。
我可以通过以下方式获取到 NSDocumentDirectory 的路径:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSFileManager *fileManager = [NSFileManager defaultManager];
[fileManager fileExistsAtPath:documentsDirectory];
NSLog(@"documentsDirectory = %@", documentsDirectory);
我可以加载图像并将其添加到数组中。
if (qty == 0)
{
//NSLog(@"fileToLoad = %@", fileToLoad);
UIImage *img = [[UIImage alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:fileToLoad ofType:fileExt]];
[self.avtList addObject:img];
[img release];
} else {
// load multiple image into an array
// not coded yet
}
但是,我不确定的是:
如何获取计算机在 NSBundle 中找到图像的路径?
当应用程序在设备上时,我如何确定路径可以正常工作?
想法是将所有图像存储在一个数组中,然后稍后将它们推送到 Core Data/SQLite。