나는 내 아이폰 프로젝트를 완성하기 위해 가고 있기 때문에 도움을 청하기 위해 여기에 왔고 완벽하기를 바란다!UIViewcontroller never deallocated
나는 할당 및 해제 UIViewcontroller
의 몇 가지 문제가 있습니다.
는 설명해 드리죠 :
내가 정의 세포와 UITableview
있습니다. 각 사용자 정의 셀에서 새를 할당 할 버튼 UIViewController
: ListOfAGuestFriendViewController;
그래서 "플립 트랜지션"을 만들고 새 ListOfAGuestFriendViewController보기를 표시하는 메서드를 호출하는 대리자를 만들었습니다.
내 문제는, 내가 이을 해제 ListOfAGuestFriendViewController 얻을 결코 내 addSubiew
의 ALL과 같은 문제가 오긴했는데, 아니면 그냥 후보기 부하를 할당 해제됩니다!
누군가가 정확하게 내가 어떻게 을 만들 수 있는지 정확하게 설명 할 수 있습니까? addSubview? 여기
내 코드입니다 :내가보기를 뒤집어 경우 :
-(void)flipAView
{
Guest *currentSelectedGuest = [self createAGuestUsingIndexPath:self.selectedIndex];
ListOfAGuestFriendViewController *listOfAGuestFriendViewController = [[ListOfAGuestFriendViewController alloc]init];
[listOfAGuestFriendViewController setCurrentGuestSelected:currentSelectedGuest];
[listOfAGuestFriendViewController setMyListOfContactControllerDelegate:self];
[UIView animateWithDuration:0.25 animations:^{
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight
forView:self.tableviewContainerView cache:YES];
[self.tableviewContainerView addSubview:listOfAGuestFriendViewController.view];
}completion:^(BOOL finished){
[listOfAGuestFriendViewController release];
[self collapseCurrentExpandedCell];
}];
}
내가 다시 가고 싶어 : 나는 제거하면
-(IBAction)goBackButtonGotPressed:(id)sender{
[UIView animateWithDuration:0.5 animations:^{
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft
forView:[self.view superview] cache:YES];
[self.view removeFromSuperview];
}];
}
그 코드 줄 :
[listOfAGuestFriendViewController release];
내 listOfAGuestFriendViewController
결코 할당 취소.
나는이 인스턴스에 대한 속성을 사용하지 않지만, 할 때 나는 동일합니다!
분명히 귀하의 앱은 ARC 기반이 아닙니다. 왜 그것을 ARC로 변환하지 않습니까? 이러한 메모리 관리 문제가 모두 사라지는 것은 아닙니다. 어떤 속성이나 ivar을 해제하거나 dealloc 할 때, 그냥 nil로 설정하면됩니다. –
나는 지금 ARC를 좋아하지 않는다. 그리고 ARC에서 나의 모든 프로젝트를 변환하는 것은 너무 많은 시간이 걸릴 것이다 ... 나는 다른 프로젝트를 가지고있다 : ( – Pwyll28
나는이 라인을 추가 할 때 당신의 질문을 생각한다 [ listOfAGuestFriendViewController release]; dealloc가 작동하고이 줄이 [listOfAGuestFriendViewController release] 인 경우 이 제거 된 경우 dealloc은 작동하지 않습니까? –