Получить пути к изображениям из NSBundle в Objective C?

У меня есть около 60 изображений, которые я хочу сохранить в Core Data, 30 из которых являются аватарами и имеют префикс avt_filename_00X.png, а 30 из них меньше и имеют другой префикс.

Вместо того, чтобы хранить все изображения как большие двоичные объекты в 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
}

Но я не уверен в следующем:

  1. Как мне получить путь, в котором компьютер нашел изображение, как только оно попало в NSBundle?

  2. Как я могу быть уверенным, что путь будет работать, когда приложение находится на устройстве?

Идея состоит в том, чтобы получить все изображения, хранящиеся в массиве, а затем нажать их в Core Data / SQLite позже.

7
задан Philip Regan 28 October 2010 в 16:13
поделиться