iPhoneプロジェクトを完成させようとしていて、完璧にしたいので、助けを求めるためにここに来ました!
の割り当てと割り当て解除に問題がありますUIViewcontroller
。
説明させてください:
UITableview
カスタムセルがあります。各カスタム セルには、新しいUIViewController
: ListOfAGuestFriendViewControllerを割り当てるボタンがあります。
そこで、メソッドを呼び出して「反転トランジション」を行うデリゲートを作成し、新しい ListOfAGuestFriendViewController ビューを表示しました。
私の問題は、ListOfAGuestFriendViewControllerがdeallocatedにならないか、ビューがロードされた直後に割り当てが解除されるという同じ問題をすべての.addSubiew
誰かが完璧な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
割り当て解除はありません。
このインスタンス化ではプロパティを使用しませんが、使用しても同じです!