Передача объекта между контроллерами представления в Objective C - PullRequest
1 голос
/ 06 июля 2010

У меня очень простое приложение для iPhone, мне нужна помощь. Это приложение на основе представления с навигацией. строка в нижнем колонтитуле, которая переключается между 4 контроллерами представления.

Что мне нужно сделать, это передать значение UILabel из представления 2 в представление 4. Поле UILabel - это значение, рассчитанное в представлении 2, но я хочу, чтобы оно отображалось в представлении 4 (если 5 + 5 = 10, 10 появится в контроллере вида 4, а не в контроллере вида 2).

Как мне это сделать? У кого-нибудь есть пример кода, который я могу просмотреть? Я некоторое время искал в документах Apple и в Интернете и пока не нашел ничего полезного. Имейте в виду, я настоящий новичок. когда дело доходит до развития. Я только начинаю учиться!

Заранее спасибо.

Ответы [ 3 ]

1 голос
/ 06 июля 2010

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

NSObject *myVariableFromDelegate = [[[UIApplication sharedApplication] delegate] myVariable];

[[[UIApplication sharedApplication] delegate] setMyVariable:10];
0 голосов
/ 21 июля 2010

Делегат приложения может работать на вас, но если вам нужно отслеживать множество значений, вам, вероятно, лучше реализовать отдельный класс для ваших данных.В противном случае он станет слишком громоздким.

Когда вы загружаете новое представление, вы передаете указатель на кассету данных этому контроллеру представления, чтобы текущие значения могли быть извлечены и помещены в правильные поля.Кроме того, вы можете использовать регистр для уведомлений в контроллере представления, чтобы отследить любые изменения, сделанные другими представлениями.Просто убедитесь, что вы отменили регистрацию уведомления, когда представление выгружается, и вам должно быть хорошо.

0 голосов
/ 14 июля 2010

Взгляните на NSNotificationCenter .Вы можете отправлять сообщения и обрабатывать их в любом месте приложения, лучшее решение в большинстве подобных случаев.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...