我完全陌生於目標c和ios開發,我只是試圖導航到故事板上的新場景,並且在導航時更改了UIlabel的文本。如何在場景之間傳遞信息目標c
我有這個設置的方式是我有一個視圖控制器和一個tableview控制器,每個都有自己的頭文件和實現文件。我從視圖控制器上的按鈕使用segue導航到tableview。
我看過這個堆棧溢出後(How do I pass information between storyboard segues?),它解釋瞭如何通過值在賽格瑞,並已實現了它這樣:
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
NSLog(@"prepareForSegue: %@", segue.identifier);
if([segue.identifier isEqualToString:@"navtotablebut"])
{
TableViewController *testcontroller = segue.destinationViewController;
testcontroller.testpass.text = @"Testing123";
NSLog(@"%@",[NSString stringWithFormat:@"testpass has been changed to %@", testcontroller.testpass.text]);
}
}
日誌驗證此賽格瑞方法不會被調用,它能夠正確識別我給它的id(navtotablebut)。然後我嘗試在我的tableview控制器上將我的UIlabel的文本屬性的值設置爲一個簡單的字符串「Testing123」。然而,這個改變不僅沒有反映在新的屏幕上,而且我的打印語句似乎認爲testcontroller.testpass.text等於(null)。
我在這裏做了什麼可怕的錯誤?
你有沒有創建testpass的屬性? –
是的,在我的TableViewController.h我有這個: @property(強,非原子)IBOutlet UILabel * testpass; – Bebhead