как передать текст между представлениями

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

1
задан iwasrobbed 24 July 2010 в 21:15
поделиться

3 ответа

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

Затем второй контроллер представления устанавливает 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
2
ответ дан 2 September 2019 в 22:47
поделиться

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

.
0
ответ дан 2 September 2019 в 22:47
поделиться

Посмотрите на шаблон Singleton.

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

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

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

и

//view2
#import "SingletonClass.h"
...
lbl.text = [SingletonClass sharedInstance].savedText;
0
ответ дан 2 September 2019 в 22:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: