2014-04-04 3 views
1

지금까지 2 시간 동안이 작업을 망 쳤으므로 물어볼 시간입니다. 전에 두 번보기간에 데이터를 전달했지만 내가 처음으로 문제를 겪은 것은 이번이 처음입니다.대상보기 컨트롤러에서 (null)로 표시되는 값이 전달되지 않음

Heres는 소스 뷰에 대한 내 코드 :

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    TRTranslation *translation = [discussionsArray objectAtIndex:indexPath.row]; 
    selectedDiscussionID = translation.discussionID; 
    [self performSegueWithIdentifier:@"communityToDetails" sender:self]; 
} 

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
    if ([segue.identifier isEqualToString:@"communityToDetails"]) 
    { 
     TRDiscussionDetailsViewController *ddvc = [[TRDiscussionDetailsViewController alloc] init]; 
     ddvc.discussionID = selectedDiscussionID; 
     NSLog(@" discussion id %@", ddvc.discussionID); 
    } 
} 

내가 여기 로그는 적절한 값을가집니다.

는 Heres는 내 목적지

#import <UIKit/UIKit.h> 

@interface TRDiscussionDetailsViewController : UIViewController <UITableViewDataSource, UITableViewDelegate> 

@property (strong, nonatomic) NSString *discussionID; 


@end 

내가있는 viewDidLoad에서 discussionID 값을 기록 VC

의 .H : 그것은 널 (null)을 나온다.

답변

3

을 시도 할 수 있습니다, 당신은 SEGUE 대신에서 계속 필요를 다시 인스턴스화합니다. 나는이 작업을 수행해야한다고 생각 :

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender  
{ 
    if ([segue.identifier isEqualToString:@"communityToDetails"]) { 

     TRDiscussionDetailsViewController *ddvc = (TRDiscussionDetailsViewController*)segue.destinationViewController; 

     ddvc.discussionID = selectedDiscussionID; 
     NSLog(@" discussion id %@", ddvc.discussionID); 



    } 
} 

는 내가 장님

+0

오 신 도움이되기를 바랍니다. 고마워, 젠장 할 수있게하자마자 이걸 받아 들일거야. – tunam3lt

+0

당신을 환영합니다;) –

2

장착 :

TRDiscussionDetailsViewController * ddvc = [TRDiscussionDetailsViewController ALLOC] INIT]; 함께

:

TRDiscussionDetailsViewController ddvc * = (TRDiscussionDetailsViewController *) destinationController SEGUE];

코드에서 새 TRDiscussionDetailsViewController을 작성 했으므로이 코드는 segue가 수행 될 때 생성되지 않습니다. TRDiscussionDetailsViewController 목적지보기 컨트롤러 인 경우

1

당신이

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 

{ if ([segue.identifier isEqualToString:@"communityToDetails"]) { 

    TRDiscussionDetailsViewController *ddvc = (TRDiscussionDetailsViewController *)[segue destinationViewController];; 
    ddvc.discussionID = selectedDiscussionID; 
    NSLog(@" discussion id %@", ddvc.discussionID); 



} 
} 
관련 문제