2014-02-06 25 views
0

我有一個由兩部分組成的HomeTableViewController。當你點擊ANY單元格時,它將用戶引導到DetailsViewController。 DetailsViewController有2個標籤。一個在手機號碼中,另一個是到期日。爲了指導我的手機我的詳細信息視圖控制器我有以下代碼:我HistoryTableViewController.m 這是現在如何在DetailsView上顯示來自TableView的數據

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    // HistoryDetailsViewController *HDV = [self.storyboard instantiateViewControllerWithIdentifier:@"HistoryDetails"]; 
    // [self.navigationController pushViewController:HDV animated:YES]; 
    NSLog(@"index path section--%i",[indexPath section]); 
    [self performSegueWithIdentifier:@"Push" sender:indexPath]; 
} 

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{ 

    if ([[segue identifier] isEqualToString:@"Push"]) { 
     HistoryDetailsViewController *detailVC=(HistoryDetailsViewController*)segue.destinationViewController; 
    } 
} 

我能夠訪問我DetailsViewController,我要控制它的標籤。我希望能夠修改標籤根據我採取的細胞部分。

然而,當我嘗試像

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{ 

    if ([[segue identifier] isEqualToString:@"Push"]) { 
     HistoryDetailsViewController *detailVC=(HistoryDetailsViewController*)segue.destinationViewController; 

     detailVC.labelCellNum.text = @"Cell test"; 
     detailVC.labelDueDate.text = @"Date Test"; 
    } 
} 

使用此代碼我甚至不能修改標籤的文本。我不明白。

所有的幫助表示讚賞,在此先感謝。

+0

有很多關於此的帖子 - 你不能這樣做,因爲detailVC的視圖在你嘗試設置文本時尚未加載,所以detailVC.labelCellNum和detailVC.labelDueDate將爲零。 – rdelmar

回答

0

我會做這將是爲每個字符串的屬性的方式,你想在詳細視圖中使用:(在.H聲明)

@property (nonatomic, strong) NSString *stringOne; 
在prepareForSegue

的話,就一定值分配給它:

[detailVC setStringOne:@"Some string"]; 

然後在詳細信息VC的viewDidLoad方法,我什麼地方設置該字符串我想用它:

[self.labelCellNum setText:self.stringOne]; 
+0

有趣的是,現在就試試這個 – doc92606

+0

是的,這個工程。現在我只需要一種方法來獲取我的Cell的文本並在我的詳細信息視圖控制器中顯示THAT。除了在我的prepareforSegue中,我不能將文本設置爲cell.textlabel.text – doc92606

+0

我如何能夠在我的prepareForSegue方法中獲取我的cell.textlabel.text的值? – doc92606

相關問題