Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование iOS/iPhone

Войти
Регистрация
Восстановить пароль
 
Slava-hacker32
7 / 7 / 0
Регистрация: 16.11.2011
Сообщений: 248
#1

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

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

Здравствуйте, в целях изучения делаю проект файловый менеджер. Есть разные типы файлов (документы, pdf, картинки). Все файлы выводятся в TableView, папки открываются, а вот как теперь мне открыть файлы? Как отобразить нужный контроллер? Например для документов открывается контроллер с WebView, а для картинок с ImageView. Как я понял, контроллеры должны бить заранее созданы, но как их привязать? Через сегвеи, а потом проверять расширение файла и переходить по нужному сегвею?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.04.2014, 01:39
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Файловый менеджер открытие нужного контроллера (Программирование iOS):

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

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

Вызов нужного метода WebAPI-контроллера в зависимости от переданного параметра - C# MVC
Доброго времени суток, уважаемые форумчане. Имеется контроллер WebAPI под названием EmployeeController, в нем пара GET-методов. Получение...

Файловый менеджер - C++ Builder
Всем доброго времени суток. в общем нужна помощь, не за даром естественно. необходимо написать файловый менеджер. сама написанная программа...

Файловый менеджер FAR... - Windows
Здравствуйте, уважаемые форумчане... Недавно познакомился с файловым менеджером FAR - очень неплохая прога, особенно полезна для удаления...

Файловый менеджер - Java
Не могу передать путь папки в TableModel. Прошу о помощи

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
zulkis
682 / 609 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
30.04.2014, 07:06 #2
Slava-hacker32,
Цитата Сообщение от Slava-hacker32 Посмотреть сообщение
Через сегвеи, а потом проверять расширение файла и переходить по нужному сегвею?
Как вариант, да.
0
Slava-hacker32
7 / 7 / 0
Регистрация: 16.11.2011
Сообщений: 248
30.04.2014, 09:35  [ТС] #3
А как в коде это написать? Проверку расширения файла я могу сделать, а как прописать переход?

Objective-C
1
2
NSString* extensionPath = [fileName pathExtension];
if ([extensionPath isEqualToString:@"doc"]) { } //проверка расширения файла
0
zulkis
682 / 609 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
30.04.2014, 09:57 #4
Slava-hacker32,
смотрите метод
Objective-C
1
- (void)performSegueWithIdentifier:(NSString *)identifier sender:(id)sender;
0
Slava-hacker32
7 / 7 / 0
Регистрация: 16.11.2011
Сообщений: 248
01.05.2014, 23:41  [ТС] #5
Я понимаю, что переход происходит в 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
682 / 609 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
02.05.2014, 12:44 #6
Slava-hacker32, Добавляйте manual segue не от UITableViewCell, а от контроллера. Их может быть много. И вызов performSegueWithIdentifier... от self(UIViewController) будет вполне корректен.
1
noname_club
102 / 90 / 9
Регистрация: 01.05.2013
Сообщений: 583
03.05.2014, 17:53 #7
segue
через tableDidSelectRow и [Storyboard instantiateViewControllerWithIdentifier:@"name"] -> [self.navigationController pushViewController] не лучше?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.05.2014, 17:53
Привет! Вот еще темы с ответами:

Файловый менеджер - Bash
Средствами Shell и Zenity реализовать файловый менеджер со следующими функциями: - просмотр содержимого каталога, - смена каталога, -...

Файловый менеджер с БД - Delphi
Здраствуйте! Вопрос к тем, кто смог бы Аргументированно объяснить свою точку зрения по поводу создания файлового менеджера в Delphi с базой...

файловый менеджер - PHP
Доброго вечера всем кто читает срочно возникла необходимость в написании файлового менеджера на php, тоесть он должен показывать...

Файловый менеджер - C++ Qt
Есть файловый менеджер , не получается реализовать 2 оставшиеся кнопки . "Копировать" , "Вставить" . Подскажите...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
03.05.2014, 17:53
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru