как передать текст между представлениями - PullRequest
1 голос
/ 24 июля 2010

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

Ответы [ 3 ]

2 голосов
/ 24 июля 2010

Я бы не использовал шаблон синглтона или любую другую «глобальную переменную».Это сделает ваши контроллеры вида очень тесно связанными и ограничит возможность повторного использования.Я бы просто создал переменную экземпляра во втором контроллере представления и установил ее в главном перед представлением представления.

Затем второй контроллер представления устанавливает label.text для переменной экземпляра в (например) viewDidLoad.

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

//SecondViewController.h
@interface SecondViewController : UIViewController {
    NSString *theLabel;
}

@property(nonatomic, copy) NSString *theLabel; //Synthesize in implementation

@end

Затем в контроллере основного представления:

//Create instance of secondViewController
instanceOfSecondViewController.theLabel = @"Nut";
//Present the second view here
0 голосов
/ 24 июля 2010

Посмотрите на паттерн Синглтон.

Как должен выглядеть мой синглтон Objective C?

Тогда вы можете сделать что-то вроде:

//view1 
#import "SingletonClass.h"
...
[SingletonClass sharedInstance].savedText = @"blah";

и

//view2
#import "SingletonClass.h"
...
lbl.text = [SingletonClass sharedInstance].savedText;
0 голосов
/ 24 июля 2010

Если класс A обрабатывает ваш view1, а класс B обрабатывает view2, тогда определите интерфейсы в классе B для принятия новой метки для вашего элемента UI, а затем вызовите этот интерфейс из класса A.

...