0

다음 작업을 수행합니다.왜 내 ModalViewController가 해제되지 않습니까?

- (IBAction)openThumbMap:(UIButton *) sender 
{ 
    ThumbmapViewController *viewController = [[ThumbmapViewController alloc] initWithInfo:mainPages]; 
    viewController.title = self.title; 
    viewController.delegate = self; 

    [self presentModalViewController:viewController animated:YES]; 

    [viewController release]; 
} 

간단하지 않습니까? 음 ... 일단 내가하면 [self dismissModalViewControllerAnimated:YES]; viewController 안쪽으로 돌아 가면 메모리가 해제되지 않습니다. 더 나쁜 것은, 내가 다시 부르면 기억이 다시 증가한다는 것입니다. 왜?

내 viewController 안에 많은 UIImageViews를 만들었습니다.이 UIImageViews는 viewController 뷰에 하위 뷰처럼 추가 한 후에 릴리스합니다. 그래서, 그것들 모두가 서브 뷰와 같은 것이라면, 컨트롤러가 싫은 후에 그것을 놓아야 만합니까?

질문과 답변입니다. 왜 메모리가 여전히 증가합니까?

편집 : 내 initWithInfo 속으로

: 방법 나는 부모의 ViewController에서 데이터로있는 NSArray 속성을 설정합니다. 이 배열을 사용하여 모달보기 컨트롤러를 마칠 때 내가 풀어주는 작은 UIImages를 만듭니다.

+0

보기 컨트롤러가 해당 대리인을 유지합니까? – BoltClock

+0

타이머가 관련되어 있습니까? 그들은 무효가 될 때까지 물건을 붙잡는다. – gnasher

+0

이게 무슨 소리 니? @property (assign) id 위임; 그것은 명백하게 차이를 만들지 않습니다. 그리고 아니요, 관련 타이머가 없습니다. – Linnk

답변

0

모달 뷰 컨트롤러 자체는 아니지만 UIImage가로드되었습니다. [UIImage imageNamed:@"blahblah.jpg"]에 전화하면 iOS에서 이미지를 다시 호출 할 때를 대비하여 캐시를 생성합니다. 그래서 [UIImage imageWithData:(NSData *)]을 사용하면 저의 잘못된 공식 질문에 대한 답을 얻을 수 있습니다.

관련 문제