Могу ли я получить доступ ко всем изображениям в .xcassets сразу?

#ios #objective-c #xcasset

#iOS #objective-c #xcasset

Вопрос:

У меня большое количество изображений в Images.xcassets, и мне нужно загрузить их все в UITableView. Но я не хочу писать каждое имя для . [UIImage imageNamed:@"imageName"]

То, что я ищу, это что-то вроде:

 NSArray *images = [MagicClass loadAllImagesIn:@"images.xcassets"];
 

Вы знаете, возможно ли это вообще? Если нет, возможно, я создам .bundle…

Спасибо!!

Ответ №1:

Images.xcassets копирует все изображения в bundle и смешивается с другими изображениями, лучше следуйте инструкциям на изображении ниже

введите описание изображения здесь

Добавление папки с опцией Create folder reference фактически создаст папку в основном пакете с ее содержимым, и все ваши изображения будут разделены. И, используя следующий код, вы можете получить доступ ко всем изображениям.

 NSString *dirPath = [[[NSBundle mainBundle] bundlePath] stringByAppendingPathComponent:@"images"];
NSError * error;
NSArray * images =  [[NSFileManager defaultManager]
                      contentsOfDirectoryAtPath:dirPath error:amp;error];
 

Надеюсь, это поможет.