2010-01-10 39 views
2

我嘗試從一個視圖傳遞一個NSString到另一個視圖,但我沒有工作。我在SecondViewController設置的NSString財產不能通過一個NSString從一個視圖到另一個視圖

@property (assign) NSString * wert1; 

當我加載SecondViewController與上FirstViewController按鈕按下,我嘗試通過的NSString:

SecondViewController *Second = [[SpinViewController alloc] initWithNibName:nil bundle:nil]; 
Second.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"black.png"]]; 
[Second setWert1:texteingabe1]; //HERE <<<< 
Second.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; 
[self presentModalViewController:Second animated:YES]; 
[Second release]; 

在SecondViewController我做這:

NSLog(@"%@",wert1); 

但NSLog只是說:(空)。爲什麼?

感謝您的幫助,併爲我的糟糕英語感到抱歉。

回答

0

得到了解決方案。我只是移動setWert1代碼下的後臺代碼,現在它工作:)

+0

任何洞察它爲什麼它的作品將是偉大的... – 2010-01-10 23:41:50

3

你在哪裏致電NSLog聲明?如果它在loadViewviewDidLoad,它將不起作用,因爲在您的示例中調用setWert1:之前調用了這些方法。

此外,還要確保你不將其設置爲零的NSLog之前別的地方叫,當然,在傳遞時,它確保texteingabe1,其實,不是零。

1

它如果你設置一個原始的字符串文字工作? I.e [Second setWert1:@「Foo」]?在沒有看到更多代碼的情況下,在第二個視圖中,字符串值爲NULL的最可能的原因是您爲「texteingabe1」傳遞了一個NULL字符串。

+0

不行,對不起。 – Flocked 2010-01-10 23:34:02

1

您需要在第二個控制器中複製或保留字符串。使用@property關鍵字「retain」而不是「assign」。

賦值只是將字符串賦值給第二個...中的實例成員,然後當字符串在第一個控制器中釋放時,它也從第二個中消失。

+0

不適用於保留。 – Flocked 2010-01-10 23:35:07

相關問題