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

Objective-C

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.88
Jul6
0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 9
#1

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

29.05.2013, 17:28. Просмотров 2041. Ответов 18
Метки нет (Все метки)

Здравствуйте!
Я абсолютный новичок в этой области, сейчас учусь писать приложения по книге Д.Пайлон, Т.Пайлон "Программируем для iPhone и iPad". Текущее приложение Drink Mixer рушится при попытке добавить новый коктейль в список имеющихся, то есть при нажатии на кнопку "+". Не срабатывает метод presentViewController.
Проблема в том, что в книге используется более старая версия iOS. У меня стоит последняя, и в ней не работает половина методов из книги. Решение некоторых проблем удавалось находить на форуме, но про последнюю ничего не нашла. Помогите, пожалуйста!
Заранее спасибо.

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

Мышь работает через раз, то есть запустил ОС - мышь не работает, перезагрузил - мышь работает - Windows 7
Установлена Windows 7 со всеми последними обновлениями. Все всегда замечательно работало. Но с недавних пор мышь стала работать через раз....

не работает в ворде веб компонент,и скачав обновление ow 11 не работает все равно - MS Word
проблема с веб элементами и обновлениями на них))

Подключение библиотеки DLL C++: работает на примере консоли и не работает в WinForms App - C++/CLI WinForms
Здравствуйте! Помогите начинающему бедному студенту!! Осваиваю С++. В книге Прохоренко(программирование в visual studio 2010 express)...

Не работает php на wps-е. Гланвая страница работает все остальное нет - PHP
На локальном дэнвере все отлично работает. Но при копировании на впс и сдоступом через сеть работает только главная страница сайта. Все...

AS 3.0 Swf не работает, а в тестовом режиме в самом flash и формате exe работает - ActionScript
Доброго времени суток. Такая проблема: есть рабочий код обмена данными с php скриптам. В тестовом режиме(ctrl+Enter) все работает, при...

Multimap STL - работает только запись в файл, поиск в файле не работает - C++
И снова здравствуйте. Снова я прошу вашей помощи. Переделал программу с мапом в мульти мап, но что то пошло не так и работает только запись...

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

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

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

Не по теме:

ох уж этот stroryboard

1
Jul6
0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 9
30.05.2013, 00:41  [ТС] #14
Пока заработало
Спасибо!
Правда теперь, боюсь, сталкнусь с непреодолимыми трудностями дальше из-за этой путаницы с xib-ами и storyboard...
0
voldemar2201
0 / 0 / 0
Регистрация: 07.06.2013
Сообщений: 4
08.06.2013, 17:01 #15
Тоже начал изучение Objective-C с этой книги, как я понял что в новой версии можно использовать и старые методы, это просто рекомендация, по этому вылазиет только предупреждения. И данное приложение будет совместимо только с iOS 6.0 и выше. Я сделал это задание и без stroyboard, если интересует могу позже прикрепить свой проект. Заткнулся на переделке приложения с iPhone на iPad...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.06.2013, 17:01
Привет! Вот еще темы с ответами:

Ноутбук работает только с Wi Fi роутера дома, в кафе не работает и везде. Почему? - Wi-Fi
Подскажите пожалуйста, почему у меня ноутбук с виндой 7, работает вай фай только дома с роутера. А когда я прихожу в кафе или в парк, у...

Из-за чего интернет работает на техникумовских компьютерах и не работает подключении к моему ноутбуку - Сети
В Техникуме есть разные компьютеры - для учителей - для студентов - библиотечные ...перепробовал и библиотечные и студенческие и...

У клиента не работает роутер. У Меня дома работает. TRENDnet TEW-432BRP - Сетевое оборудование
Добрый день! У клиента установлен TRENDnet TEW-432BRP. Настроен для подключения к Beeline, но это не совсем важно. До определенного...

При включении компа у меня не работает монитор, но нормально работает ТВ-выход - Компьютерное железо
Уже несколько дней рву волосы на голове.... Такая проблемка: при включении компа у меня не работает монитор, только мигает лампочка...


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

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

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