2014-02-05 2 views
0

Я хочу знать, создаю ли я группу или папку с файлами, например изображениями img1.jpg, [email protected], img2.jpg, img2 @ 2x. jpg ... img10.jpg, [email protected], есть ли способ создать массив из этих изображений динамически, не зная, сколько изображений есть? В принципе, я хочу что-то динамическое, поэтому он найдет все новые изображения, если я добавлю больше, не обновляя свой код. Это можно сделать?Ссылка на все файлы в группе или папке в Xcode

Спасибо за любую помощь ...

+1

Найти их в своем приложении или найти их в xCode? – Putz1103

+0

Вы загружаете изображения откуда-то? Если вы затем сохраните их в NSMUtableArray. Это то, что нужно для хранения неизвестного количества элементов. Вам не нужны папки, вам нужно их сохранить. – Mika

ответ

0

Чтобы сделать Xcode автоматически обнаруживать новые изображения, которые необходимо добавить в папку, содержащую эти изображения «в качестве ссылки». При нажатии и перетаскивании папки изображений в xCode появится окно импорта. Одна из радиальных кнопок будет иметь опцию «Добавить в качестве ссылки». Выберите этот вариант, и папка будет автоматически обновлена ​​с помощью всего, что вы добавите в нее. Возможно, вам придется очистить и перестроить проект, чтобы xCode действительно отправлял эти обновления в ваше приложение.

Чтобы сделать это в вашем приложении (в коде) вы могли бы сделать что-то вроде:

NSError *error; 
NSArray *fileList = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:yourFolderPath error:&error]; 

Это даст вам множество NSStrings, содержащих имена всех файлов и папок внутри выбранной папки. Если вам нужны подпапки, вам придется делать рекурсивные вызовы.

1

Нет, к сожалению XCode не имеет ту особенность, однако, если вы готовы вручную увеличить константу, вы можете легко сделать некоторые строки манипуляции, чтобы получить массив:

#define IMAGE_COUNT 10 
#define PREFIX @"img" 

NSMutableArray *images, *images2x; 
images = [NSMutableArray arrayWithCapacity:IMAGE_COUNT]; 
images2x = [NSMutableArray arrayWithCapacity:IMAGE_COUNT]; 

for(int i = 0; i < IMAGE_COUNT; i++){ 
    NSString *imagePath = [PREFIX stringByAppendingFormat:@"%d.jpg",i]; 
    NSString *image2xPath = [PREFIX stringByAppendingFormat:@"%[email protected]",i]; 

    [images addObject:[UIImage imageNamed:imagePath]]; 
    [images2x addObject:[UIImage imageNamed:image2xPath]]; 
} 

вы вручную добавлять файлы и все они пронумерованы, поэтому не может повредить простое изменение IMAGE_COUNT при каждом добавлении изображения.

+0

Спасибо, я думаю, что это лучший подход. К сожалению, я не могу найти ничего полностью динамичного. – SeanT

Смежные вопросы