2015-01-26 2 views
0

내 AppDelegate에서 강력한 참조를 가지고 있으며 컨트롤러를 팝업 할 때 출시되지 않습니다.Appdelegate의 컨트롤러가 공개되지 않습니다.

@property (nonatomic, strong) MenuViewController  *menuViewController; 

이 컨트롤러는 dealloc이 nslog dealloc이고 표시되지 않으므로 디코 레이트되지 않습니다. 이 속성을 다른 곳에 두지 않고이 문제를 해결할 방법이 있습니까? Appelegate가 싱글 톤이기 때문에 모든 속성이 앱 수명주기 동안 생존하기 때문에 가정합니다.

+0

그래, 자동으로 할당 해제 될 수는 없지만 menuViewController를 수동으로 nil로 설정할 수 있습니다. –

답변

0

난 당신이 참조를 사용하는 방법을 잘 모르겠어요,하지만 당신은 그것을 weak 포인터를 만들 수 있습니다

@property (nonatomic, weak) MenuViewController *menuViewController; 

당신이 초기화되고 menuViewController을 발표 한 후 포인터를 설정합니다.

menuViewController을 먼저 초기화하고 나중에 사용하기 위해 참조를 유지해야하는 경우 더 이상 필요하지 않으면 self.menuViewController = nil을 설정해야합니다.

관련 문제