2014-10-01 7 views
0

제목에 속성 이름이있는 행이있는 TableView가 있습니다.didSelectRowAtIndex가 제대로 업데이트되지 않습니다.

속성은 새로 만든 개체를 첫 번째 TableView에 추가하기 위해 "추가"를 누를 수있는 다른 TableView에서 정의됩니다.

이제 목록의 두 번째 Object를 편집하려고한다면 두 번째 TableView로 전환해야합니다. Cancel을 누르고 다시 눌러 올바른 이름을 가져야합니다.

무엇인가 didSelectRowAtIndex이 제대로 작동하지 않는 것 같지만 그게 무엇인지 알 수 없습니다. 나는 그것이 DidSelectRowAtIndex 방법에 indexPath.row과 동일하지 년대 PrepareforSegue 방법에 indexPathInt를 기록하는 경우

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
    if ([[segue identifier] isEqualToString:kSegueIdentifier]){ 

     AddEntry *controller = [[[segue destinationViewController] viewControllers] objectAtIndex:0]; 

     controller.delegate = self; 
    } 

    if ([[segue identifier] isEqualToString:kEditSegueIdentifier]) { 

     edited = YES; 

     AddEntry *controller = [[[segue destinationViewController] viewControllers] objectAtIndex:0]; 

     EntryObject *entry = self.entryObjectArray[self.indexPathInt]; 

     controller.name = entry.name; 
     controller.someProperty = entry.soneProperty; 


     controller.delegate = self; 
    } 
} 

하지만, 하나는 내가 클릭 :

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    self.indexPathInt = (int)indexPath.row; 
} 

과 : 여기

내 방법입니다 전에.

따라서 indexPathInt은 시간 내에 업데이트되지 않습니다.

변수를 보내지 않고 선택한 행에 액세스 할 수있는 다른 방법이 있습니까?

+0

'UITableView' 메소드'indexPathForSelectedRow'는 현재 선택된 행에 대한'NSIndexPath'를 제공합니다. – bobnoble

답변

0

self.indexPathInt를 설정하기 전에 [self performSegueWithIdentifier ...]를 호출하고 있습니다.

스토리 보드를 통해 세그를 수행하는 경우 정확히 설명 할 내용이 발생합니다. self.indexPathInt를 설정 한 후 프로그래밍 방식으로 [self performSegueWithIdentifier]를 호출하십시오.

건배.

+0

답변 해 주셔서 감사합니다.하지만 segue를 호출하기 전에 self.indexPathInt를 어떻게 설정합니까? – smnk

0

대신에 viewController에서 수동으로 행을 바로 잡으면 prepareForSegue가 didSelectRowAtIndex 경로 전에 호출됩니다.

편집 : NOT 행에서 대상에

  • 드래그의 ViewController에서 SEGUE을.

  • 이름은 일반적으로

  • 당신이 변수를 설정 한 후 didSelectRowAtIndexPath에 didSelectRowAtIndexPath에서

  • 전화를 설정하려는 변수를 설정 할 것 같은 SEGUE :

    [자기 performSegueWithIdentifier을 : @ "yourSegueIdentifierString"sender : self];

+0

답변 해 주셔서 감사합니다.하지만 segue를 호출하기 전에 self.indexPathInt를 어떻게 설정합니까? – smnk

+0

위의 업데이트 된 답변을 참조하십시오. –

관련 문제