実際にいくつかの UIView を切り替えるメソッドを書きました。メソッドに入るとき、スーパービューからこのビューを正確に削除するには、現在のビューがどれであるかを知る必要があります。この目的のために、ヘッダー ファイルでプロパティを宣言しました。
@property (weak, nonatomic) UIView *currentView;
メソッドで特定のビューに変更した後、このビューをプロパティに割り当てて、メソッドを再度入力したときに使用し、要求された場合はスーパービューからこのビューを削除したいと考えています。メソッドは次のようになります。
...
nextView = [self loadNextView]; // the view is loaded from a NIB here
if (self)
{
[self viewWillDisappear:YES];
[[self currentView] removeFromSuperview];
[[self view] addSubview:nextView];
[self currentView] = [self nextView];
...
残念ながら、コンパイラは currentView はここでは割り当てられないことを教えてくれます。私の目的のために現在のビューを思い出すための別の、できればより良い方法はありますか、それともまったく別の方法を使用する必要がありますか?