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

presentViewController не работает - Objective-C

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.88
Jul6
0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 9
29.05.2013, 17:28     presentViewController не работает #1
Здравствуйте!
Я абсолютный новичок в этой области, сейчас учусь писать приложения по книге Д.Пайлон, Т.Пайлон "Программируем для iPhone и iPad". Текущее приложение Drink Mixer рушится при попытке добавить новый коктейль в список имеющихся, то есть при нажатии на кнопку "+". Не срабатывает метод presentViewController.
Проблема в том, что в книге используется более старая версия iOS. У меня стоит последняя, и в ней не работает половина методов из книги. Решение некоторых проблем удавалось находить на форуме, но про последнюю ничего не нашла. Помогите, пожалуйста!
Заранее спасибо.

в книге:
Код
[self presentModalViewController:addViewController animated:YES];
у меня:
Код
[self presentViewController:addViewController animated:YES completion:nil];
Простая замена одного метода другим не сработала.. ((
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2013, 17:28     presentViewController не работает
Посмотрите здесь:

При включении компа у меня не работает монитор, но нормально работает ТВ-выход
C++/CLI WinForms Подключение библиотеки DLL C++: работает на примере консоли и не работает в WinForms App
MS Word не работает в ворде веб компонент,и скачав обновление ow 11 не работает все равно
У клиента не работает роутер. У Меня дома работает. TRENDnet TEW-432BRP
Из-за чего интернет работает на техникумовских компьютерах и не работает подключении к моему ноутбуку
Ноутбук работает только с Wi Fi роутера дома, в кафе не работает и везде. Почему?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Xavier
in god we trust
 Аватар для Xavier
74 / 74 / 8
Регистрация: 20.04.2012
Сообщений: 201
29.05.2013, 17:36     presentViewController не работает #2
а ты можешь показать весь код метода который срабатывает при нажатии на +.
И что вообще происходит приложение крашится или просто не показывается новый контроллер?
Jul6
0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 9
29.05.2013, 19:49  [ТС]     presentViewController не работает #3
Я же прикрепляла проект ((
Вложения
Тип файла: zip DrinkMixer.zip (52.3 Кб, 9 просмотров)
Jul6
0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 9
29.05.2013, 19:53  [ТС]     presentViewController не работает #4
При нажатии на + приложение падает..
Xavier
in god we trust
 Аватар для Xavier
74 / 74 / 8
Регистрация: 20.04.2012
Сообщений: 201
29.05.2013, 21:43     presentViewController не работает #5
У тебя пишет ошибку Could not load NIB in bundle:.... ?
Ты пишешь:
Objective-C
1
AddDrinkViewController *addViewController = [[AddDrinkViewController alloc] initWithNibName:@"AddDetailViewController" bundle:nil];
Хотя nib-a этого класса у тебя нету или создай ниб файл или просто напиши:
Objective-C
1
AddDrinkViewController *addViewController = [[AddDrinkViewController alloc] initWithNibName:nil bundle:nil];
Jul6
0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 9
29.05.2013, 23:27  [ТС]     presentViewController не работает #6
Да, ясно. Но дело в том, что я пытаюсь создать модальное представление поверх текущего - на основе TASDetailViewController. То есть новый контроллер - AddDrinkViewController - был намеренно создан без xib файла, чтобы мы могли воспользоваться представлением TASDetailViewController. А вот этого как раз и не происходит.
Если поставить nil -
Objective-C
1
AddDrinkViewController *addViewController = [[AddDrinkViewController alloc] initWithNibName:nil bundle:nil];
то программа больше не падает, а просто появляется черное окно, а нужно чтобы появилось пустое представление TASDetailViewController.
Что в этом случае делать?
Xavier
in god we trust
 Аватар для Xavier
74 / 74 / 8
Регистрация: 20.04.2012
Сообщений: 201
29.05.2013, 23:31     presentViewController не работает #7
Цитата Сообщение от Jul6 Посмотреть сообщение
нужно чтобы появилось пустое представление TASDetailViewController.
я не пойму а почему собственно этот класс и не загрузить? зачем нужен "левый" класс если в итоге мы хотим что бы вылез TASDetailViewController.
Jul6
0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 9
29.05.2013, 23:42  [ТС]     presentViewController не работает #8
Не знаю. В книге они создали новый класс для добавления записей... Значит по-другому нельзя было сделать, наверное..
И как же теперь быть?
Xavier
in god we trust
 Аватар для Xavier
74 / 74 / 8
Регистрация: 20.04.2012
Сообщений: 201
29.05.2013, 23:50     presentViewController не работает #9
можешь просто вместо AddDrinkViewController попробовать загрузить TASDetailViewController и дальше читать и смотреть что из этого выйдет.

Просто я книгу эту не читал и ход мыслей автора не знаю, может в дальнейшем он все описывает что зачем и для чего
Jul6
0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 9
29.05.2013, 23:58  [ТС]     presentViewController не работает #10
Попробовала. Хотя без нового класса дальше по книге работать уже не получится..
Программа рушится со словами:
[UIViewController _loadViewFromNibNamed:budle:] loaded the "TASDetailViewController" nib but the view outlet was not set.
Xavier
in god we trust
 Аватар для Xavier
74 / 74 / 8
Регистрация: 20.04.2012
Сообщений: 201
30.05.2013, 00:02     presentViewController не работает #11
это когда ты tasDetailViewController грузишь крашиться прога? тогда как ты его грузишь?
И кстати, а в книге storyboard используется или xib?
Jul6
0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 9
30.05.2013, 00:11  [ТС]     presentViewController не работает #12
В книге используется xib, в том то и дело.
А как это все организовать со storyboard я не понимаю...

А гружу вот так:
Objective-C
1
2
TASDetailViewController *addViewController = [[TASDetailViewController alloc] initWithNibName:@"TASDetailViewController" bundle:nil];
[self presentViewController:addViewController animated:YES completion:nil];
или так:
Objective-C
1
2
TASDetailViewController *addViewController = [[TASDetailViewController alloc] init];
[self presentViewController:addViewController animated:YES completion:nil];
результат один.

Могу загрузить сюда книжку
Xavier
in god we trust
 Аватар для Xavier
74 / 74 / 8
Регистрация: 20.04.2012
Сообщений: 201
30.05.2013, 00:16     presentViewController не работает #13
А почему бы xib и у себя не использовать?
Ну естественно будет сыпаться
Objective-C
1
2
3
UIStoryboard*  story = [UIStoryboard storyboardWithName:@"MainStoryboard"
                                                  bundle:nil];
    TASDetailViewController *addViewController = [story instantiateViewControllerWithIdentifier:@"addViewControllerID"];
и не забудь storyboard id тотже написать в самом storyboard файле для TASDetailViewController.

Не по теме:

ох уж этот stroryboard

Jul6
0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 9
30.05.2013, 00:41  [ТС]     presentViewController не работает #14
Пока заработало
Спасибо!
Правда теперь, боюсь, сталкнусь с непреодолимыми трудностями дальше из-за этой путаницы с xib-ами и storyboard...
voldemar2201
0 / 0 / 0
Регистрация: 07.06.2013
Сообщений: 4
08.06.2013, 17:01     presentViewController не работает #15
Тоже начал изучение Objective-C с этой книги, как я понял что в новой версии можно использовать и старые методы, это просто рекомендация, по этому вылазиет только предупреждения. И данное приложение будет совместимо только с iOS 6.0 и выше. Я сделал это задание и без stroyboard, если интересует могу позже прикрепить свой проект. Заткнулся на переделке приложения с iPhone на iPad...
glvrzzz
95 / 71 / 12
Регистрация: 12.12.2012
Сообщений: 214
12.09.2013, 12:46     presentViewController не работает #16
Цитата Сообщение от Jul6 Посмотреть сообщение
Попробовала. Хотя без нового класса дальше по книге работать уже не получится..
Программа рушится со словами:
[UIViewController _loadViewFromNibNamed:budle:] loaded the "TASDetailViewController" nib but the view outlet was not set.
Цитата Сообщение от Jul6 Посмотреть сообщение
Пока заработало
Спасибо!
Правда теперь, боюсь, сталкнусь с непреодолимыми трудностями дальше из-за этой путаницы с xib-ами и storyboard...
Трудности тут были весьма преодолимые, по всей видимости, просто не выставили outlet главной вьюшке контроллера в ксибе.
zulkis
 Аватар для zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
13.09.2013, 07:35     presentViewController не работает #17
Jul6, вот ну не понимаю я такого, и все тут. В книге xib, у вас storyboard, и вы еще чему-то удивляетесь...
А делать "как в книге" не позволяет религия, или "создание нового проекта" в Xcode?
Jul6
0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 9
13.09.2013, 12:07  [ТС]     presentViewController не работает #18
zulkis, да я ничему не удивляюсь )) Делать "как в книге" не интересно - это проще простого. Я же учусь и дальнейшем хотелось бы все-таки работать со storyboard, поэтому и хотела переложить задание этой книги на новый лад. Но, если честно, не получилось
mobidevelop
182 / 182 / 3
Регистрация: 10.01.2013
Сообщений: 596
13.09.2013, 12:53     presentViewController не работает #19
Прежде, чем перекладывать, надо:
1. Убедиться, что то, что в книжке написано, - правда
2. Убедиться, что сумели хотя бы воспроизвести по приведенным шагам (Учат не только сказом, но и показом)
3. Понять а почему так
4. Понемножку изменять под свои нужды

Цитата Сообщение от Jul6 Посмотреть сообщение
Делать "как в книге" не интересно - это проще простого
Ой не всегда. То в книге не дописали, то сам не доглядел, то интерфейс поменялся. В общем я бы не советовал особенно торопиться при изучении. Сториборды от xib не особо и отличаются. А вот поди ж ты - проблемы откуда-то...
Yandex
Объявления
13.09.2013, 12:53     presentViewController не работает
Ответ Создать тему
Опции темы

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