2011-11-25 2 views
1

내 애플 리케이션을위한 뷰 그리드 종류를 만들고 있습니다. 나는 그들에 많은 하위 뷰를 배치하고있다. 나는 사용자의 상호 작용과 새로운 데이터가 도착했을 때 새로운 뷰 세트를 Gird에 다시로드해야 할 필요성이있다.iOS에서 하위 뷰 관리하기

나는이 나의 파단에 대한 메모리를 할당 : 나는 정의에 추가, 나는 그들의 superViews에서 모든 하위 뷰를 제거 내 그리드를 새로 고침 그리드 타일 (파단)의 새로운 세트를 만들고 싶었

while(index < count) 

CustomGridTile *view = [[CustomGridTile alloc] initWithFrame:frame]; 

[self addSubView:view]; 

[view release]; 

} 

Gird보기 및 릴리스.

제대로하고 있습니까? 이것은 메모리 관련 문제를 일으킬 수 있습니까? 몇 가지 문제가 가져올 수있는 전망을 발표

답변

2

하위보기를 제거하는 동안 메모리를 해제해야합니다.

설명 : 당신은 그것의 유지 CustomGridTile보기를 할당 할 때 하위보기로 추가하면

이 카운트된다 1. 그 유지 카운트가 당신이 놓으면 2.이 될 수를 유지하는 것이 마지막 때를 1이된다 하위 뷰를 제거하면 보유 수는 0이되어 릴리스되어야합니다.

0

- 내가 어떻게 할 것인지

그렇지 않으면 내가 그 라인을 따라 그들에 오토 릴리즈 또는 뭔가를 시도하는 것이 좋습니다 당신이 그것을뿐만 아니라 수퍼 릴리스에서 제거 할 때이지만, 이후에 출시 하위보기가 과거에 문제가 발생했을 때 추가하십시오.