2014-06-11 6 views
2

여기에 objective-c 및 ios newbie가 있지만 배우고 있습니다!테이블 뷰 컨트롤러의 문자열을 새로운 뷰 컨트롤러로 전달

이름은 descs의 문자열입니다. detailViewController.note를 통해 새로운보기 컨트롤러에 전달하려고합니다. 내가 string을 detailViewController.note에 저장한다는 것을 디버깅에서 볼 수 있지만 다른 뷰 컨트롤러로 넘어갈 때 거기에 없다.

여기 내 테이블 뷰 컨트롤러에서 코드입니다 : DetailViewController에 대한

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

     [tableView deselectRowAtIndexPath:indexPath animated:NO]; 

     DetailViewController *detailViewController = [[DetailViewController alloc]init]; 
     detailViewController.view.frame=self.view.frame; 
     [email protected]"detail"; 
     detailViewController.note=[self.descs[indexPath.row]name]; 
     [[self navigationController] pushViewController:detailViewController animated:YES]; 


    } 

헤더 : DetailViewController에 대한

@interface DetailViewController : UIViewController 
@property (nonatomic) NSString * note; 
@end 

구현 : 당신의 도움에 미리

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    UITextView *description =[[UITextView alloc]initWithFrame:CGRectMake(12,260,300,180)]; 
    description.font=[UIFont fontWithName:@"Helvetica" size:15]; 
    description.editable=NO; 
    description.text=self.note; 
    [self.view addSubview:description]; 
} 

감사합니다!

답변

3

서브 뷰를 viewWillAppear:으로 설정해야합니다. detailViewController.note이 설정되기 전에 viewDidLoad이 호출되기 때문에 현재 구현에서 작동하지 않습니다.

관련 문제