iphone – 一个简单的viewDidLoad问题

我有一个带有一个带有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;
点赞