2012-05-28 48 views
1

有兩個帶有嵌入式導航控制器的視圖控制器。第一個有一個桌子視圖。第二個名爲「AfterTableViewController」的標籤中有一個標籤。在故事板中的視圖控制器之間傳遞數據

我想能夠在第一個視圖控制器實現文件中的prepareForSegue方法中設置標籤。

-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
    AfterTableViewController *afc = (AfterTableViewController*) segue.destinationViewController; 
    afc.title = @"the title"; // this works 
    afc.theLabel.text = @"hello"; // this doesn't work 
} 

我應該如何設置標籤?

回答

2

看到你只是想設置標籤的文本值,這將是最好在你的AfterTableViewController創建此UILabel的文本的其他的NSString屬性,然後構建theLabel時使用它。

+0

這似乎工作。我在AfterTableViewController .h文件中創建了一個字符串屬性,並在prepareForSegue中爲其分配了一個值。然後在AfterViewController的viewDidLoad方法中,我使用該字符串的值更新了標籤的文本。我只是困惑,爲什麼我不能改變標籤的價值,除了做這個伎倆。也許因爲它'弱'和我定義的字符串屬性是'強'。任何建議? – Milad

+2

在執行的時候,據我所知,這個IBOutlet到你的UILabel仍然是零,這就是爲什麼沒有發生。儘管如此,我不會說這是一個竅門,但這是傳遞數據的一種非常正常的方式。 –

0

您必須確保將theLabel作爲AfterTableViewController內的(合成)屬性添加才能正常工作。

+0

已經做到了。不起作用。 這裏的項目http://www.mediafire.com/?8zz3xf2qltzaszd – Milad

+0

@MiladGhattavi是故事板中已定義的標籤還是控制器自己創建的標籤?您可能還想清除「不工作」聲明,它不起作用?錯誤,崩潰,你記錄了什麼? –

+0

它在故事板中並被定義爲第二個視圖控制器代碼中的屬性。 '不起作用'只是一個評論。爲了更好的理解,我在這裏添加了它。 我有點用韋斯利的回答解決了這個問題。 我會在幾分鐘後發佈我所做的。 – Milad

相關問題