我实际上写了一个切换一些 UIViews 的方法。当我输入方法时,我必须知道哪个是我当前的视图,以便从超级视图中准确删除这个视图。为此,我在头文件中声明了一个属性:
@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 在这里不可分配。是否有另一种希望更好的方式来记住当前观点以达到我的目的,或者我应该使用完全不同的方式?