2013-07-07 4 views
1

나는스토리 보드 사용을 위해 initWithNibName을 어떻게 변경합니까?

이 그렇지 않은 그러나 그는

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
    if (self.details == nil) { 

     self.details = [[[FailedBanksDetailViewController alloc] initWithNibName:@"FailedBanksDetailViewController" bundle:nil] autorelease];   
    } 
    FailedBankInfo *info = [_failedBankInfos objectAtIndex:indexPath.row]; 
    _details.uniqueId = info.uniqueId; 
    [self.navigationController pushViewController:_details animated:YES]; 
    [self performSegueWithIdentifier:@"testID" sender:self.view]; 
} 

을 가지고 무엇 didselectrow에서 채울 상세 뷰를 제외하고 작업 할 모든 것을 얻는 선에서 http://www.raywenderlich.com/913/sqlite-101-for-iphone-developers-making-our-app

메신저를 다음 자습서를 사용하고 있습니다 스토리 보드로 작업하기

누군가 나를 도울 수 있습니까? 나는 도처에서 대답을 찾을 수 있습니까?

답변

0

시도 : FailedBanksDetailViewController는 메인 스토리 보드에서 뷰 컨트롤러에 대한 identifier입니다

self.details = [self.storyboard instantiateViewControllerWithIdentifier:@"FailedBanksDetailViewController"]; 

.

http://www.raywenderlich.com을 사용 중이므로 here을 스토리 보드 예제로 사용할 수 있습니다.

0

옵션의 몇 :

  1. 당신은 당신이 "스토리 보드 ID"로로 전환하고있는 장면을 제공 할 수 있습니다 (당신은 인터페이스 빌더에서이 작업을 수행) 다음 instantiateViewControllerWithIdentifier 대신 initWithNibName 사용합니다.

  2. 스토리 보드에서 셀 프로토 타입을 사용하는 경우 didSelectRowAtIndexPath 메서드가 필요하지 않으며 대신 셀 프로토 타입의 세그를 다음 장면에 추가하면됩니다. 그런 다음 prepareForSegue 메서드를 작성하여 uniqueId을 다음 장면으로 전달합니다.

    prepareForSegue 모습 하심 : 분명히

    - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
    { 
        if ([segue.identifier isEqualToString:@"DetailsSegue"]) 
        { 
         NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow]; 
         FailedBankInfo *info = [_failedBankInfos objectAtIndex:indexPath.row]; 
         [(FailedBanksDetailViewController *)segue.destinationViewController setUniqueId:info.uniqueId]; 
        } 
    } 
    

    , 당신이 당신의 SEGUE의 스토리 보드가 id가 제공 한 이름으로 DetailsSegue를 교체합니다.

+0

정말 고마워요! 이것은 나를 위해 일하기 시작하지만 코드를 입력하면 오류가 발생합니다. 'tableView'유형의 객체에서 'locationViewController *'속성을 찾을 수 없습니다. 아이디어가 있습니까? –

+0

이것이 도움이된다면 viewcontroller 상단에서 테이블 뷰를 사용하려고 할 때 발생합니다. –

+0

@Thomasrocks 'FailedBanksListViewController'는'tITViewViewController' 하위 클래스로서'tableView' 속성을 제공합니다. 나는이'locationViewController' 클래스가 무엇인지 모른다. 'UIViewController' 서브 클래스에 tableview를 추가 했습니까? 그렇다면, 테이블 뷰를위한'IBOutlet'은 무엇입니까? tableview를 위해'self.tableView'를'IBOutlet'으로 대체하십시오. – Rob

1

현재 NIB 및 스토리 보드에 bob 코드를 사용하고 있습니다. 1을 선택하고 그대로 사용하십시오. 스토리 보드를 사용하는 경우, 단락을 수행 한 다음 prepareForSegue:sender:을 처리하여 대상보기 컨트롤러를 구성하십시오.