2013-10-06 2 views
-1

NSObject을 통해 테이블의 데이터를 다른 테이블로 전달할 수 있습니까?NSTable을 통해 UItable로 데이터 UItable 전달

예 :

첫 번째 테이블 전송 데이터

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{ 
    NSIndexPath *path = [self.tableView indexPathForSelectedRow]; 
    Data *g = [[Data alloc]init]; 
    [g setSelection1:(int)path.row]; 
} 

NSLog 테스트 selecttion1

내가 데이터와 ALLOC 그것을하지만 selection1 내 값을 가져 두 번째 테이블을 사용 value = path.row;가 손실됩니다.

항상 0입니다.

+0

'prepareForSegue' 동안 목적지 뷰 컨트롤러에서 프로퍼티의 값을 설정합니다. 제공된 코드 예제에서 대상보기 컨트롤러에 속성 값 설정이 표시되지 않습니다. – bobnoble

+0

데이터가 두 번째 테이블로 전달되었지만 첫 번째 테이블로 다시 전환하면 데이터가 손실됩니까? 당신은 명확히 할 수 있습니까? – Unheilig

답변

0

이 시도 :

-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
    if ([segue.identifier isEqualToString:@"<YOUR_SEQUE_IDENTIFIER_GOES_HERE>"]) 
    { 
     <YOUR_CONTROLLER> *destController = (<YOUR_CONTROLLER> *) 
               segue.destinationViewController; 

     NSIndexPath *path = [self.tableView indexPathForSelectedRow]; 
     Data *g = [[Data alloc] init]; 
     //if you would like to re-use this data source, I would suggest making this as a 
     //property within this class 

     [g setSelection1:(int)path.row]; 
     [destController setMyData:g]; 
    } 
} 

을 두 번째 테이블에서 선언 속성을 :

다른 한`UIViewController`에서 데이터를 전달하기위한 일반적인 방법은 대상에 속성을 추가하는 것입니다
@property (strong, nonatomic) Data *myData; 
0

데이터 개체는 대상보기 컨트롤러에 전달하지 않았기 때문에 사용자에게 제공되지 않습니다.

당신은 여기이

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{ 
    NSIndexPath *path = [self.tableView indexPathForSelectedRow]; 
    Data *g = [[Data alloc]init]; 
    [g setSelection1:(int)path.row]; 

    MyTargetViewController *targetVC = segue.destinationViewController; 
    [targetVC setData:g]; 
} 

처럼 그것을 실제 대상 뷰 컨트롤러 "MyTargetViewController"를 대체 할 수 있습니다.