2012-12-11 1 views
0

모달보기 컨트롤러를 닫은 직후에 일종의 작업을 수행하려면 코드를 어디에 넣을 까? 그것은 viewDidLoad에 없을 것이라고 알고있다. 왜냐하면 rootviewcontroller는 이미 (모달 뷰에 의해 잠시 숨겨져 있었기 때문에) 메모리에 이미로드 되었기 때문에 viewWillAppear 또는 viewDidAppear에 대해서는 확실하지 않다. 왜냐하면 뷰가 이미 메모리에로드 되었기 때문이다. .모달보기 컨트롤러를 닫은 후 루트보기 컨트롤러에서 작업 수행

+0

'dismissModalViewController : animated :'를 호출 한 직후에 넣지 않는 이유는 무엇입니까? –

+0

내가 뭘하려고하는지 다른 viewcontroller rootview에서 밀어 및 모달 클래스에서 할 수 없기 때문에. dismissModalViewController 바로 뒤에 코드를 넣으려고했는데 그냥 무시합니다. – user1066524

답변

1

ViewWillAppear은 모달을 닫을 때 호출자보기 컨트롤러에서 다시 호출되므로 일부 논리를 사용하면 좋은 장소가 될 수 있습니다.

그렇지 않으면 대리자를 구현하는 것에 대해 생각해 볼 수 있습니다. 또는 동시성이 고려되지 않는 경우 사용자 지정 NSNotification을 전송하여 모달 호출자가 캐치 할 수 있습니다.

+0

정말요? viewWillAppear이 모달을 해제 한 후에 다시 호출된다는 것을 알지 못했습니다. 나는 이것을 시도하고 그것이 어떻게 작용 하는지를 말해 줄 것이다. 감사. – user1066524

+0

Worked Beautifully 감사합니다. – user1066524

+0

좋습니다! 그러나 iPad 응용 프로그램을 대상으로하는 경우에는 모달이 전체 화면을 덮지 않고 viewWillDisappear가 호출자에게 호출되지 않기 때문에 viewWillAppear가 호출되지 않는다고 가정합니다. 이 경우 대리인이 아닌 다른 옵션이 있습니다. – Leonardo