2011-01-18 3 views
3

저는 iPhone 개발 및 Objective-C에 익숙합니다. 오늘은 새로운 ViewController를 여는 방법과 이전 ViewController로 돌아 오는 방법을 알아 냈습니다. 새보기를 올바르게 표시하는 방법 및 이전보기로 돌아가는 방법

// I는 다음과 같이 정의 된 방법이라고 openSecondView이 메인 뷰 컨트롤러에서

:

- (void) openSecondView:(id)sender { 
    SecondViewController *secondView = [[SecondViewController alloc] initWithNibName:nil bundle:nil]; 
    [self presentModalViewController:secondView animated:YES]; 
} 

// SecondViewController에서 나는 다시이 여기

내가 현재이 작업을 수행하는 방법은

- (void)closeView:(id)sender { 
    [self dismissModalViewControllerAnimated:YES]; 
} 

내 질문은, 어떻게 적절하게이 작업을 수행해야합니까되어 다음과 같이 정의된다 closeView라는 메소드를 호출 버튼?

나는 [secondView 자료]presentModalViewController를 호출하거나 어떤 무대 뒤에서 어떤 일을 한 후 전화를해야할까요? 나는 디버깅 할 때 presentModalViewController가 블로킹 코드가 아닌 것으로 보았 기 때문에 내가 추가 한 다음 몇 줄의 코드는 호출하지 않고 즉시 실행하는 것 같다. dismissModalViewControllerAnimated. 전화 걸기의 결과가 있습니까 선물 후 두 번째보기 릴리스가 표시됩니다 .ModalViewController?

도움/조언을 많이 부탁드립니다.

답변

2

presentModalViewController을 호출 한 후 [secondView release]으로 전화하면됩니다. 보기 컨트롤러는 해제 될 때까지 유지됩니다.

+0

우수! 도움과 빠른 응답에 감사드립니다! –

+1

그리고 iOS 5 용 Xcode 4.3의 ARC (Automatic Reference Counting) 기능이 곧 출시 될 예정입니다. Xcode에서 유지, 릴리스, 자동 릴리스 등을 걱정하지 않아도됩니다. 아직 메모리 관리를 배울만한 가치가 거의 없음;) –

+0

@DylanGattey 특히 제 3 자 라이브러리를 사용할 때 특히 iOS의 메모리 관리를 이해하는 것이 중요합니다. 그들이 그것을지지한다는 보장은 없습니다. –

관련 문제