Форум программистов, компьютерный форум, киберфорум
Программирование iOS/iPhone
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
7 / 7 / 2
Регистрация: 16.11.2011
Сообщений: 251

Файловый менеджер открытие нужного контроллера

30.04.2014, 01:39. Показов 1131. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, в целях изучения делаю проект файловый менеджер. Есть разные типы файлов (документы, pdf, картинки). Все файлы выводятся в TableView, папки открываются, а вот как теперь мне открыть файлы? Как отобразить нужный контроллер? Например для документов открывается контроллер с WebView, а для картинок с ImageView. Как я понял, контроллеры должны бить заранее созданы, но как их привязать? Через сегвеи, а потом проверять расширение файла и переходить по нужному сегвею?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.04.2014, 01:39
Ответы с готовыми решениями:

Файловый менеджер для ios
Здравствуйте. В связи с дипломом возникла задача написать мобильное приложение, я выбрал ios. Почитал статьи про xcode и objective-c вроде...

Открытие второго контроллера после удачного POST запроса
При старте программы у меня открывается loginWindowController, там я ввожу логин и пароль. После нажатия на кнопку войти отправляются два...

Файловый менеджер
Здравствуйте, как написать файловый менеджер с такими командами: 1) Список файлов в каталоге (с возможностью сортировки) 2) Переход в...

6
 Аватар для zulkis
686 / 613 / 43
Регистрация: 13.01.2011
Сообщений: 1,722
30.04.2014, 07:06
Slava-hacker32,
Цитата Сообщение от Slava-hacker32 Посмотреть сообщение
Через сегвеи, а потом проверять расширение файла и переходить по нужному сегвею?
Как вариант, да.
0
7 / 7 / 2
Регистрация: 16.11.2011
Сообщений: 251
30.04.2014, 09:35  [ТС]
А как в коде это написать? Проверку расширения файла я могу сделать, а как прописать переход?

Objective-C
1
2
NSString* extensionPath = [fileName pathExtension];
if ([extensionPath isEqualToString:@"doc"]) { } //проверка расширения файла
0
 Аватар для zulkis
686 / 613 / 43
Регистрация: 13.01.2011
Сообщений: 1,722
30.04.2014, 09:57
Slava-hacker32,
смотрите метод
Objective-C
1
- (void)performSegueWithIdentifier:(NSString *)identifier sender:(id)sender;
0
7 / 7 / 2
Регистрация: 16.11.2011
Сообщений: 251
01.05.2014, 23:41  [ТС]
Я понимаю, что переход происходит в performSegueWithIdentifier, но от одной ячейки можно сделать только один Segue.
В коде я делаю проверку файл или папка выбраны.
Objective-C
1
2
3
4
5
6
if ([self isDirectoryAtIndexPath:indexPath]) {
        
        
        self.selectedPath = path;
        [self performSegueWithIdentifier:@"openFolder" sender:nil];
    }
Если папка, то используется тот же контроллер, для отображения содержимого папок.
Objective-C
1
2
3
4
5
-(void)prepareForSegue:(UIStoryboardSegue *)segue  sender:(id)sender {
  
 
        RSMasterViewController* mvctrlr = segue.destinationViewController;
        mvctrlr.path = self.selectedPath; }
А во как работать с файлами я не могу придумать. Если начинаю дописывать условие к if ([self isDirectoryAtIndexPath:indexPath]) то есть else , приложение вылетает (это если я не делал seque от ячейки ко второму контроллеру), а если seque есть, то он перехватывает проверку папка/файл и тогда вместо содержимого папки отображается контроллер (для файлов тоже), может я что то не то делаю? И как тогда делать проверку, какой контроллер открывать в зависимости от типа файла?
0
 Аватар для zulkis
686 / 613 / 43
Регистрация: 13.01.2011
Сообщений: 1,722
02.05.2014, 12:44
Slava-hacker32, Добавляйте manual segue не от UITableViewCell, а от контроллера. Их может быть много. И вызов performSegueWithIdentifier... от self(UIViewController) будет вполне корректен.
1
 Аватар для noname_club
112 / 103 / 12
Регистрация: 01.05.2013
Сообщений: 603
03.05.2014, 17:53
segue
через tableDidSelectRow и [Storyboard instantiateViewControllerWithIdentifier: @"name"] -> [self.navigationController pushViewController] не лучше?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.05.2014, 17:53
Помогаю со студенческими работами здесь

Файловый менеджер
Помогите пожалуйста с домашним заданием. Задали сделать файловый менеджер вот картинка, которим он должен быть с виду. Нужно зделать...

Файловый менеджер
добрый день, хочу написать фаловый менеджер типа total comander на C#. Помогите с чего начать (какие элементы использовать и тд).

Файловый менеджер
Здравствуйте , есть ли какие нибудь примерные исходники файловых менеджеров сделанные через lazarus ? или же модуль на удаление файлов как...

Файловый менеджер
Доброго времени суток. Сейчас разбираюсь с файловым менеджером. Посмотрел пример написания вот на сайте: . Внизу также приведены коды...

Файловый менеджер
Я в Тупике! помогите пожалуйста, но буду благодарен вдвойне если объясните и код. Взываю могущественным java программеров! Нужно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru