iOS - использование базового имени для файлов и добавление расширения - PullRequest
0 голосов
/ 04 августа 2011

У меня есть много имен файлов изображений, хранящихся в массиве в моем RootViewController.m, из которого пользователь может выбрать.

myImages = [[NSMutableArray alloc] init];
[myImages addObject:@"MR-MONO2-12-shoulder"];
[myImages addObject:@"brain_01"];
[myImages addObject:@"brain_02"];
[myImages addObject:@"brain_03"];
[myImages addObject:@"brain_04"]; ...

После выбора миниатюрное изображение и соответствующий текстовый файл должны отображаться в подробном представлении.Я назвал все соответствующие файлы изображений и текстовые файлы аналогично, например, file1.jpg соответствует file1.txt.Я хочу, чтобы базовое имя файла представляло собой отдельную строку, к которой я могу добавить соответствующее расширение при необходимости.

Я почти уверен, что я слишком усложняю это, но с многочисленными графическими и текстовыми файлами я не знаю, как это написать, так что используемое базовое имя зависит от выбора пользователя изТаблица.Можно ли использовать созданный мной массив для хранения всех моих изображений?Элементы в массиве - это то, что я бы сделал базовыми именами для файлов.

1 Ответ

1 голос
/ 04 августа 2011

У вас есть несколько вариантов.Если вы просто хотите добавить расширение пути, вы можете использовать NSString метод экземпляра - (NSString *)stringByAppendingPathExtension:(NSString *)ext.Если искомый файл находится в пакете, вы можете использовать методы экземпляра NSBundle, например - (NSString *)pathForResource:(NSString *)name ofType:(NSString *)extension или - (NSString *)pathForResource:(NSString *)name ofType:(NSString *)extension inDirectory:(NSString *)subpath, если ресурс находится в ссылке на папку где-то под каталогом пакета верхнего уровня.

Если вы хотите добавить больше файлов позже без необходимости изменять ваш код, вы можете рассмотреть возможность загрузки имен ресурсов из массива в списке свойств (.plist) с использованием NSDictionary - (id)initWithContentsOfFile:(NSString *)aPath.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...