2016-12-07 4 views
-2

Например: У меня есть два ViewController, А и В, А имеют @Property(copy,nonatomic)NSString *test;
если А толчок к B Как может обновление теста A, я вижу некоторый ответ о Double ** и point.but, я не знаю. Спасибо!, если не использовать протокол и блок Как обновить строку (тип NSString) в Objective-C

+0

с помощью 'DelegatePattern' это одна возможность взглянуть здесь: HTTP: // stackoverflow.com/a/6169104/1390857 –

+0

Что вы пробовали ??? Услышал о протоколах, развяжет segues ??? –

+0

Почему вы не можете использовать протокол или блок? –

ответ

1

Для этого вы можете использовать класс singleton. Используйте AppDelegate для этого.

Сделать свойство NSString в AppDelegate и обновлять значение этого NSString из AppDelegate, когда вы будете двигаться от А до В.

В viewWillAppear() из A Присвоить значение NSString из AppDelegate к тому, что в A (тест)

В AppDelegate.h

@property (strong, nonatomic) NSString *value; 

В ViewController

#import "AppDelegate.h" 


-(void)viewWillAppear:(BOOL)animated 
{ 
    AppDelegate *appDelegate = (AppDelegate *)[UIApplication sharedApplication].delegate; 

    self.test = appDelegate.value; 

} 

Когда толчок к ViewController B:

Вы можете присвоить новое значение AppDelegate NSString как:

AppDelegate *appDelegate = (AppDelegate *)[UIApplication sharedApplication].delegate; 

appDelegate.value = @"YOUR NEW VALUE"; 

 Смежные вопросы

  • Нет связанных вопросов^_^