我有一个HomeTableViewController,它由两部分组成。当您单击任何单元格时,它会将用户定向到DetailsViewController。 DetailsViewController有2个标签。一个在单元格编号中,另一个是到期日期。要将我的单元格指向我的详细信息视图控制器,我有以下代码:这是在我的HistoryTableViewController.m
-(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 :(得分:0)
我这样做的方法是为你想在详细视图中使用的每个字符串都有一个属性:(在.h中声明)
@property (nonatomic, strong) NSString *stringOne;
然后在prepareForSegue中,我会给它分配一个值:
[detailVC setStringOne:@"Some string"];
在Detail VC的viewDidLoad方法中,我将该字符串设置在我想要使用的地方:
[self.labelCellNum setText:self.stringOne];