gpt4 book ai didi

ios - UIViewController 不在 View 之间传递数据

转载 作者:行者123 更新时间:2023-11-28 17:59:38 25 4
gpt4 key购买 nike

我正在尝试在 Storyboard 中的 UIViewController 之间传递一些数据。我在下面有一些代码来传递数据。当我在原始屏幕上记录我正在保存的字符串时,它很好,但是当我转到 UIDetailViewController 时,go 返回 (null)。我的问题是什么??

原始 View Controller :

 -(void)tableView:(UITableView *) tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

if (tableView==_countryTableView) {
if (indexPath.section==0) {
AthleteDataTransfer *dataTransfer = [[AthleteDataTransfer alloc] init];
dataTransfer.name=@"Yo";
dataTransfer.dob=@"01/01/2000";
dataTransfer.description=@"I am awesome";
dataTransfer.hometown=@"Launy";

NSLog(@"%@", dataTransfer.name);

[self performSegueWithIdentifier:@"showDetail" sender:self];

}

}
}

详细 View Controller :

AthleteDataTransfer *dataTransfer = [[AthleteDataTransfer alloc] init];
_name.text=dataTransfer.name;
dataTransfer.dob=_dob.text;
dataTransfer.description=_description.text;
dataTransfer.hometown=_hometown.text;

NSLog(@"%@", dataTransfer.name);

最佳答案

代替在 tableViews didSelectRowAtIndexPath 中传递数据,在 prepareForSegue 方法中传递数据。

像这样:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"showDetail"]) {
AthleteDataTransfer *dataTransfer = (AthleteDataTransfer *)[segue destinationViewController];
dataTransfer.name=@"Yo";
dataTransfer.dob=@"01/01/2000";
dataTransfer.description=@"I am awesome";
dataTransfer.hometown=@"Launy";
}
}

关于ios - UIViewController 不在 View 之间传递数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25279357/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com