我有核心数据中所有实体的列表视图。
轻按时,它应该将所选实体的值压入将要压入导航堆栈的视图的文本字段中,但不会这样做。
令我感到困惑和烦恼的是,如果我使用NSLog
,它会记录日志,但是我使用相同的代码,并且不会将相同的信息输出到textFields
中。标题也会根据需要进行更改,这让我很困惑文本字段为何不显示。我想念什么吗?我是否错误地访问了运动员实体?
这是我的代码段(注意Athlete.h
是动态创建的核心数据属性,AllAthletes.h
是table view
,AthleteDetail.h
是要推送的详细信息视图)
allathletes.h
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[tableView deselectRowAtIndexPath:indexPath animated:YES];
Athlete *athlete = (Athlete *)[athleteArray objectAtIndex:indexPath.row];
AthleteDetail *athleteDetail= [self.storyboard instantiateViewControllerWithIdentifier:@"showAthlete"];
athleteDetail.firstDetailTextField.text = athlete.first;
athleteDetail.title = athlete.full;
NSLog(@"Full Name: %@",athlete.full);
NSLog(@"Parent's Full Name: %@", athlete.pfull);
NSLog(@"Number: %@",athlete.phone);
NSString *firstNameText = athleteDetail.firstDetailTextField.text;
firstNameText = [NSString stringWithFormat:@"%@",athlete.first];
[self.navigationController pushViewController:athleteDetail animated:YES];
}
最佳答案
当您为AthleteDetail AthleteDetail *athleteDetail= [self.storyboard instantiateViewControllerWithIdentifier:@"showAthlete"];
创建一个对象时,它不会初始化被查看的控件。
获得所需行为的最佳方法是在AthleteDetail类中创建一个名为“ athleteName”的属性。
@property(nonatomic, strong) NSString * athleteName
现在代替
athleteDetail.firstDetailTextField.text = athlete.first;
写下面的代码
athleteDetail.athleteName = athlete.first;
现在在AthleteDetail类的viewDidLoad中,将运动者名称分配给您的文本字段
firstDetailTextField.text = _athleteName;
我希望这对你有用.. :)
关于ios - 将文本添加到非事件的ViewController的文本字段中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18056952/