У меня есть около 60 изображений, которые я хочу сохранить в Core Data, 30 из которых являются аватарами и имеют префикс avt_filename_00X.png, а 30 из них меньше и имеют другой префикс.
Вместо того, чтобы хранить все изображения как BLOB в Core Data / SQLite, я хочу сохранить пути для каждого найденного изображения (так же, как вы сохраните пути к изображениям для базы данных 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 позднее.