Seb*_* OH 0 cocoa-touch objective-c ios ios7
我正在尝试在故事板中的UIViewControllers之间传递一些数据.我在下面有一些代码来传递数据.当我记录我正在保存在原始屏幕上的字符串时,这很好,但是当我去的时候,它就UIDetailViewController回来了(null).我的问题是什么?
原始视图控制器:
-(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];
}
}
}
Run Code Online (Sandbox Code Playgroud)
细节视图控制器:
AthleteDataTransfer *dataTransfer = [[AthleteDataTransfer alloc] init];
_name.text=dataTransfer.name;
dataTransfer.dob=_dob.text;
dataTransfer.description=_description.text;
dataTransfer.hometown=_hometown.text;
NSLog(@"%@", dataTransfer.name);
Run Code Online (Sandbox Code Playgroud)
在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";
}
}
Run Code Online (Sandbox Code Playgroud)