![]() |
|
![]() ![]() ![]() |
|
JohnyBlackbird |
|
||||||||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 26.12.2009 Репутация: нет Всего: нет |
Всем привет, у меня такая проблема, не получается написать делегат. По задумке есть 2 вью контроллера, в одном из них есть UItextBox, в который юзер вводит число с плавающей точкой, и кнопка. Число должно передаваться в другой вью контроллер по нажатию кнопки и выводиться там в UIabel. Но этого не происходит. Я тут выложил свой код, подскажите, что я неправильно делаю?
FirstViewController.h
FirstViewController.m
SecondViewController.m
|
||||||||
|
|||||||||
Bitter |
|
|||
![]() Опытный лентяй ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1209 Регистрация: 15.8.2004 Где: Харьков, Ukraine Репутация: 10 Всего: 27 |
а кто у вас первым то запускается?
|
|||
|
||||
JohnyBlackbird |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 26.12.2009 Репутация: нет Всего: нет |
FirstViewController. Я думал, это из названия ясно. |
|||
|
||||
Maksys |
|
|||
![]() Future Splasher ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1289 Регистрация: 15.6.2005 Где: Екатеринбург Репутация: нет Всего: 17 |
я в упор не вижу ни реализацию делегата, ни его методов, ни их вызовов..... яб тоже ни чего ни делал при нажатии кнопки.
|
|||
|
||||
JohnyBlackbird |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 26.12.2009 Репутация: нет Всего: нет |
Если вы про сам протокол, то вот он.
DelegateProtocol.h
|
|||
|
||||
Bitter |
|
|||
![]() Опытный лентяй ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1209 Регистрация: 15.8.2004 Где: Харьков, Ukraine Репутация: 10 Всего: 27 |
Из названия ясно что он должен быть первым, а не то что он первым вызывается. Я вижу что вы создаете FirstViewController внутри SecondViewController. Это значит что первым запускается именно SecondViewController |
|||
|
||||
JohnyBlackbird |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 26.12.2009 Репутация: нет Всего: нет |
При запуске программы первым открывается окно, за которое отвечает FirstViewController. А FirstViewController внутри SecondViewController создаётся, чтобы потом объявить SecondViewController делегатом. Или я что-то не так делаю? |
|||
|
||||
Bitter |
|
|||
![]() Опытный лентяй ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1209 Регистрация: 15.8.2004 Где: Харьков, Ukraine Репутация: 10 Всего: 27 |
конечно не так, вы создаете еще один FirstViewController, новый
Добавлено через 2 минуты и 25 секунд Еще вопрос - а где вы создаете SecondViewController ? |
|||
|
||||
JohnyBlackbird |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 26.12.2009 Репутация: нет Всего: нет |
Там через TabBar вьюшки переключаются. Есть TabBarViewController - родительский контроллер из которого вызываются оба дочерних. Это сообщение отредактировал(а) JohnyBlackbird - 19.3.2014, 21:22 |
|||
|
||||
Bitter |
|
|||
![]() Опытный лентяй ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1209 Регистрация: 15.8.2004 Где: Харьков, Ukraine Репутация: 10 Всего: 27 |
ну тогда если вы хотите передавать данные из одного контроллера в другой, то вы должны переопределить класс таб бара, и в его viewDidLoad получить доступ к этим двум контроллерам. Получив доступ назначите одного в качестве делегата второго
Добавлено через 2 минуты и 21 секунду либо второй вариант по проще - создать класс синглтон и передавать данные через него есть еще вариант с NSNotification. В первом контроллере отправляете NSNotification, во втором контроллере его ловите. В нотификэйшене можете передать self в качестве userInfo и его потом использовать для установления делегата Добавлено через 5 минут и 14 секунд Ну и пожалуй самый правильный вариант (как я бы сделал): - переопределить класс таб бара - назначить в качестве делегата именно класс таб бара (то есть данные от первого контроллера будут приходить в таб бар) - при получении данных таб бар передает данные второму контроллеру, вызывая какой-нибудь его метод |
|||
|
||||
tilanata |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 18.3.2014 Репутация: нет Всего: нет |
А не пробовали что то из живого кода скачать и потом прикрутить по аналогии к себе? Вы же не так все делаете? Запускаете все гамузом и пытаетесь потом определиться:)) Я позно зашла, вам уже вижу рассказали:))
|
|||
|
||||
JohnyBlackbird |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 26.12.2009 Репутация: нет Всего: нет |
а что вы имеете в виду под "переопределить класс таббара"? Создать свой класс, занаследовать его от UITabBarViewController и привязать его к моему таб бару? |
|||
|
||||
JohnyBlackbird |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 26.12.2009 Репутация: нет Всего: нет |
Всё, спасибо, всё получилось. Переопределил UITabBarController и использовал его в качестве буфера(сделал его делегатом).
|
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | iOS | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |