我有一个带有一个带有tabBarController的UINavigationController和很多视图的应用程序.
我的两个主要视图,对应于两个选项卡,在加载数据时都显示了一个很好的MBProgressHUD.这是从viewDidLoad触发的,只能看一次.从服务器进行的后续刷新不使用MBProgressHUD.
问题是,在某些情况下再次调用viewDidLoad.我相信这是因为视图因内存限制而被卸载,然后重新加载,这会触发我第一次只想运行的代码.
我的问题:我怎样才能确保只在第一次加载视图时调用它,而不是尝试在某处存储临时计数.我所有的解决方案看起来都非常糟糕. 🙂
谢谢!
最佳答案 在视图控制器中:
@property (nonatomic, assign) BOOL loadStuff;
在init中:
self.loadStuff = YES;
在viewDidLoad中:
if (self.loadStuff) {
// load stuff here
}
self.loadStuff = NO;