2016-04-20 13 views
0

ich habe ein NSString Eigenschaft in Viewcontroller MainProfileViewController genannt "TriggerReload"Boolvalue in ViewContro ändern. B, wenn Sie Taste drücken, in ViewControl A, iOS

Wenn ich eine Taste in Viewcontroller A drücken, ich möchte, dass die Zeichenfolge "TriggerReload" Änderung @ "yes ".. ohne zum MainProfileViewController zu gehen !!

Dies ist der Code, wenn ich die Taste in VC A drücken:

MainProfileViewController *mainProf = [self.storyboard instantiateViewControllerWithIdentifier:@"MainProfileViewController"]; 
      mainProf.TriggerReload = @"yes"; 
      NSLog(@"%@",mainProf.TriggerReload); 

Die NSLog SAGT „JA“

Aber wenn ich manuell auf die mainprofileviewcontroller gehen (weil ich es manuell gehen) und

NSLog (@"%@",TriggerReload) 

die NSLog sagt 'null'

im viewDidLoad setzen

mir jemand helfen könnte, danke

Antwort

0

Ich gehe davon aus hier, dass Sie bereits ein MainProfileViewController haben, die Sie vorher (in einem Storyboard oder etwas) erstellt haben, und dass Sie auch nicht vorhanden mainProf nach mainProf.TriggerReload Einstellung.

instantiateViewControllerWithIdentifier: erstellt ein neues Controller-Objekt. Es gibt dir keinen Hinweis auf einen, den du bereits hast. Sie können eine Eigenschaft nicht in einer Instanz ändern und erwarten, dass sie die übereinstimmende Eigenschaft in einer anderen Instanz ändert.

Betrachten Sie mit einem Delegaten oder einer Benachrichtigung zu Ihrem ursprünglichen MainProfileViewController sagen, dass es sich ändern sollte.