2013-09-22 5 views
0

UIViewController- (void) viewDidLoad으로 초기화하는 데 사용되었습니다.iOS 7에서 ViewController 초기화

iOS 7 로의 업데이트 이후에 viewDidLoad 메서드가 호출되지 않았거나 setItemAndParents을 실행 한 후입니다. 나는의 ViewController를 초기화 하죠

- (void)tableView: (UITableView *)tableView didSelectRowAtIndexPath: (NSIndexPath *)indexPath { 
    // some more code 
    [cpvc setItemAndParents:items[selectedIndex] orderIndex:indexOrder]; 
} 

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { 
    cpvc = segue.destinationViewController; 
} 

을 :

예 : 당신이 원하는보기가로드 셀을 클릭하면

은 내가 UITableViewController 있습니다.

iOS 6을 기억해보세요.

+0

테이블 셀을 클릭 할 때 "cpvc"가 nil인지 확인할 수 있습니까? –

+0

@MichaelDautermann 그것은 nil이 아닙니다 - 그렇지 않으면 nil/null 포인터 예외가 발생합니다 - 그렇지 않습니까 ?? 어쨌든 귀하의 질문을 이해하지 마십시오 –

답변

0

그래도 역시 ... 뷰 컨트롤러를 - (void) awakeFromNib {} 메소드로 초기화 할 수 있습니다. 이 방법은 당신이 가진 것과 동일한 시나리오에서 나를 도울 수 있습니다.

+0

위대한 - 이제 내 변수를 초기화합니다 - (void) awakeFromNib 및 viewDidLoad의 GUI 요소 :) –

1

비슷한 문제가있었습니다. 제가

의 ViewController 할당 후이 권리를 삽입

(또는과 pushViewController 후 일부 경우)

viewController.view.hidden = NO;

그리고 viewDidLoad를 호출합니다.

희망이 있습니다.

+0

좋은 일. 이유를 알고 싶습니다 ... – Antonio

+0

'view'속성을 요청하자마자 컨트롤러가 컨트롤러를로드하고 viewDidLoad가 호출되기 때문에이 방법이 효과적입니다. – ipodishima

관련 문제