2013-08-02 8 views
0

내 앱에서 인앱 구매를 관리하는 팝업 컨트롤러로 MJDetailViewController를 사용하고 있습니다. 이 뷰 컨트롤러로 View Controller 유지

는 사용자가에서 클릭 다시 충돌이 앱을 발생하는 경우로서 내가

- (IBAction)8Button { 
MJDetailViewController *detailViewController = [[MJDetailViewController alloc] initWithNibName:@"MJDetailViewController" bundle:nil]; 
[self presentPopupViewController:detailViewController animationType:MJPopupViewAnimationSlideTopTop]; 
[detailViewController release]; 
} 

의 일반적인 방법으로 해제 할 수없는 여러 번 호출 할 수 있습니다.

릴리스되지 않아서 수정해야 할 메모리 누수가 발생합니다. detailViewController를 유지하고 dealloc 단계에서 릴리스해야한다고 가정하지만이 작업을 수행하는 방법을 알지 못합니다.

detailViewController를로드하는 코드는 다음과 같습니다

- (IBAction)8Button { 
MJDetailViewController *detailViewController = [[MJDetailViewController alloc] initWithNibName:@"MJDetailViewController" bundle:nil]; 
    [self presentPopupViewController:detailViewController animationType:MJPopupViewAnimationSlideTopTop]; 
} 

어떤 도움을 매우 환영받을 ...

+0

유일한 참조는 로컬 변수에 저장되므로 어떻게 여러 번 호출 할 수 있습니까? – newacct

답변

0

당신이 그것을 공개하지 않아야 상세 뷰 컨트롤러를 해제하려면 해야 할 일 :

+0

그게 어쨌든 이것이 기본값으로 어쨌든 설정되어있는 순간이지만, Xcode에서 분석했을 때 "detailViewController '에 저장된 객체의 누출 가능성이 있습니다 – nobbsy

+0

어떻게 사용자가'다시 클릭 할 수 있습니까? ' – Wain

+0

popupviewcontroller는 주 뷰 컨트롤러 위에 위치하며, 배경이 탭되면 popupviewcontroller를 닫아서 다시 열 수있는 버튼이 메인 뷰 컨트롤러에 남아 있으므로 사용자가 선택할 수 있습니다. 다시. – nobbsy