caTea 블로그

[ios, objective-c] 자바의 onActivityResult 기능을 구현해보자 본문

macos | ios

[ios, objective-c] 자바의 onActivityResult 기능을 구현해보자

ZaRas 2015. 2. 10. 11:06
반응형

먼저 parentController 와 childController 가 있다고 가정하자.


그다음 parentController 에서 childController 을 호출 한다.


childController = [[childController alloc]init];

[self presentViewControllerchildController  animated:YES completion:nil];


이런식으로 화면을 띄우게 된다 상세하게 보면 틀린 구문 이지만 넘어간다.


이제 childController 가 뜬 상태에서 childController를 dissmiss 하고 


parentController에서 특정 함수를 실행시키고 싶다. 이는 자바에서 onResultActivity() 와 같은 기능을 


하는 함수를 만들겠다. 자바에서는 onActivityResult에서 모든것을 처리하지만 objective-c 에서는 


개발자가 함수를 만들고 childController 에서 불러주는 방법이 있다.


이 개념을 이해하는데 좀 걸렸다.


먼저 자바의 onActivityResult 역할을 할 함수 하나를 parentController 에 만들자. 


중요한건 헤더파일에 함수가 선언되어 있어야한다.


나는 -(void)afterChildController  를  만들었다.


이제 childController 의 헤더파일로 가서 parentController 의 객체를 만들자. 


parentController * parentController; 이런식으로 만들면 될겄이다.


다음 위에서 말한 childController = [[childController alloc]init]; 이코드 다음줄에 


childController. parentController = self;  라인을 추가한후 화면을 띄워보자.


중요한건 parentController 변수는 @synthesize 로 선언 되어있어야한다.


dissmiss하는 곳에서 [self.parentController afterChildController]; 코드를 넣어주면 화면이


사라질 때 afterChildController 함수가 실행되는걸 볼수있다. 


objective-c  에선 자바의 onActivityResult 함수 기능을 어떻게 구현하나 찾아 공부하면서


정리한 글이다


글만 봐선 잘 모르겠다 나도 잘모르겠다 나중에 그림도 추가해야 겠다.








728x90