Как читать изображения из определенной папки?

#objective-c #ios #camera #file-management

#objective-c #iOS #камера #управление файлами

Вопрос:

Я создал групповую папку в моем проекте Xcode с именем USER_PHOTO

Скриншот папки в списке групп

Затем я сохраняю некоторые изображения в эту папку.

Скриншот файлов изображений в папке

В моем приложении я открываю режим камеры.

Как я могу сохранить захваченные изображения в папку «USER_PHOTO»? Кроме того, как я могу прочитать все изображения из папки?

Пожалуйста, дайте мне идеи для решения этих проблем. Заранее спасибо.

Ответ №1:

Я думаю, у вас неправильное представление об этом. Группы и папки, которые вы создаете в Xcode, не отображаются в вашем приложении при запуске на устройстве iOS. Вы можете увидеть, что происходит, найдя встроенное приложение в папках симулятора (в разделе ~/Library /Application Support / iPhone Simulator /»и заглянув в пакет его приложений. Вы увидите, что все ваши файлы находятся там, в одной большой папке. Это отличается от Mac App, где у вас есть несколько папок для ресурсов, кода и т.д.).

Итак, чтобы прочитать изображения, вы просто считываете их из папки вашего приложения. Используйте NSBundle pathForResource:OfType:, чтобы добраться до них. Путь к «ресурсу» в iOS идентичен пути к папке вашего приложения.

Кроме того, на iOS ваше приложение может выполнять запись только в несколько папок рядом со своим пакетом .app, например, «Документы». Вы также можете увидеть это в папках симулятора.

Класс NSBundle предлагает функции для получения путей к этим папкам.

Затем вы также можете настроить свое приложение (с помощью клавиши plist) так, чтобы папка Documents была видна в iTunes, чтобы затем вы могли копировать сохраненные файлы на свой Mac / PC через iTunes.

Ответ №2:

Это можно сделать следующим образом,

 NSString *animationFolderName = UIDeviceOrientationIsPortrait(mDeviceOrientation)? @"Portrait_animation":@"Landscape_animation";
    int index = 0;
    NSMutableArray *imagesArray = [[NSMutableArray alloc] init];
    for (index = 1; index <= kMaxAnimationImages; index  ) 
    {
        NSString *cname = [animationFolderName stringByAppendingFormat:@"/%d.png", index];
        UIImage *img = [UIImage imageNamed:cname];
        if (img) 
            [imagesArray addObject:img];
    }