Уникальный вид, тот же контроллер - PullRequest
0 голосов
/ 01 апреля 2012

Хорошо, надеюсь, я смогу объяснить это достаточно четко, чтобы получить ответ.

Я создал несколько разных сцен, сцена 1,2,3.Каждая сцена имеет свой собственный (под) класс и собственные файлы .h и .m.

Я добавляю четвертую сцену, назовем ее сценой 4. Я хочу перейти к ней из сцены 2 (segue works).

Мои вопросы:

Могу ли я иметь сцену 4, управляемую Viewcontroller сцены 2, предполагая, что я говорю сцене 4, чтобы у нее был класс сцены 2?Я добавил метку выхода, которая называется tempLabel, в сцену 2, и после определенного действия я могу получить self.tempLabel.text для отображения «foo». Это работает, без проблем.

self.tempLabel.text = @"foo";

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

Мой вопрос: когда я это делаю, оказывается, все связано свойство,Но когда я нахожусь в сцене 2, и я запускаю действие, предназначенное для отображения «foo» в объекте с именем tempLabel, который находится в сцене 4, этого не происходит, когда я перехожу из сцены 2 в сцену 4. Метка пуста.

Другими словами, если я найду tempLabel на сцене 2, мое действие в файле viewController сцены .m заставит "foo" появиться в объекте tempLabel.Но когда я перемещаю этот ярлык в другую сцену (сцена 4) и вхожу в эту сцену, ожидая, что новая сцена будет отображать ярлык со словом «foo» внутри, все, что я получаю, это пустой ярлык.

Мне кажется, что действие делает свое дело, но когда сцена 4 загружается после перехода, то, чего я ожидаю увидеть там, там нет.Возможно, данные не пережили последствия?

Надеюсь, это имеет смысл.

edit:

ОК, поэтому я рад, что сцена 4 (на которой нет ничего, кроме одного ярлыка - просто для простоты, пока я это не выясню) может быть запущенаконтроллером сцены 2 (то есть файлом сцены 2 .h и .m).Вот где я заблудился: я могу создать этот ярлык в сцене 2 и «физически» разместить этот ярлык в сцене 2, или я могу создать этот ярлык в сцене 2, но физически найти в сцене 4. Я привык ксоздание меток в той же сцене, в которой я работаю, таким образом, это для меня новая территория.Если я помещу метку (используя раскадровки) в сцену 2, и у меня будет действие, которое изменит tempLabel.text = @ "foo";это работает как я ожидаю.Я нажимаю кнопку (действие), и эта кнопка делает то, что должна делать, то есть записывает строку «foo» в метку.Тем не менее, я пытаюсь сделать так, чтобы пользователь нажимал кнопку, и когда он / она делает это, он записывает строку «foo» в метку, если метка находится в сцене 4. Но, конечно, если пользовательпросматривая сцену 2, он / она понятия не имеет, что это произошло, если он не перейдет в сцену 4, когда его встретят с одной меткой, содержащей строку «foo».Когда я пытаюсь это сделать, я запускаюсь после запуска действия, но когда я попадаю в сцену 4, метка остается пустой.Это из-за того, что segue сама вытирает этикетку?

...