2013-08-05 6 views
0

내 핵심 데이터에서 모든 엔티티의 목록보기가 있습니다.비활성 뷰 컨트롤러의 텍스트 필드에 텍스트 추가

탭을 사용하면 선택한 엔티티 값이 탐색 스택에 푸시 될보기의 텍스트 필드로 밀려나 야하지만 그렇지 않습니다.

내가 혼란스럽고 짜증나게하는 이유는 NSLog을 사용하면 기록되지만 동일한 코드를 사용하고 동일한 정보를 textFields에 출력하지 않는다는 것입니다. 제목도 바뀌어야합니다. 텍스트 필드가 왜 쓰여지지 않는지에 대해서는 당황 스럽습니다. 내가 놓친 게 있니? 운동 선수 실체에 잘못 접근하고 있습니까? 여기

내 코드 조각 ( AllAthletes.htable viewAthleteDetail.h입니다 Athlete.h가 동적으로 생성 핵심 데이터 속성을 참고하여 추진하기 상세보기입니다) 당신이하지 AthleteDetail AthleteDetail *athleteDetail= [self.storyboard instantiateViewControllerWithIdentifier:@"showAthlete"];에 대한 객체를 만들 때

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]; 
    } 
+0

firstDetailTextField에 아울렛이 있습니까? – null

+0

콘센트가 있고 제대로 연결되어 있습니다. –

답변

2

입니다 서브 뷰 컨트롤을 초기화하지 않습니다.

원하는 동작을 얻을 수있는 가장 좋은 방법은

@property(nonatomic, strong) NSString * athleteName 

지금 대신 athleteDetail.firstDetailTextField.text = athlete.first; 다음 코드를 쓰기

athleteDetail.athleteName = athlete.first; 

지금의 AthleteDetail 클래스에서 "athleteName"라는 이름의 속성을 만드는 것입니다 AthleteDetail 클래스의 viewDidLoad, 텍스트 필드에 athleteName 할당

firstDetailTextField.text = _athleteName; 

이 작품이 당신을 위해 .. ..

+0

0.3 초 ​​정도의 지연이 있습니다. 그것을 더 적게 만들 수있는 방법이 있습니까? –

+0

는 AthleteDetail로 이동하는 동안 텍스트 또는 지연을 표시하는 동안 지연됩니까? viewDidLoad 메서드에서 텍스트를 설정했는지 확인하십시오. –

+0

알았습니다. "firstDetailTextField.text = _athleteName;"을 설정했습니다. viewWillAppear에서는 사용자가보기 전에로드 된 다음 즉석에서로드됩니다. 감사! –