我有一个UITabBar
控股3 UIViewControllers
。一个是地图,另一个是表格,第三个是我自己的自定义控制器。我最近注意到我的应用程序在低内存运行时存在一些问题,这是由于我不清楚didReceiveMemoryWarning
发生时该怎么做。
通常,当有足够的内存时,所有功能都很好。我会将我的所有控制器都分配到applicationDidFinishLaunchingWithOptions
并且所有控制器都工作得很好。
但是当内存有点低时会发生什么(出于某种原因)只有我的表行为不端。首先,我可以看到应用收到了内存警告。然后只有我的桌子得到一个viewDidUnload
. 起初我不确定为什么我的桌子变成了*completely empty*
,但后来我意识到我的委托方法停止工作,这使得我的reloadData
基本上毫无意义。
所以,我现在可以看到它在didReceiveMemoryWarning
我所有的 viewController 中级联。但是 viewDidUnload 只在我的桌子上被调用。
我想知道发生了什么事?
- 如何从 viewDidUnload 中恢复?如果我的观点是零,谁负责把它带回来?为什么只有我的表获得 viewDidUnload?我正在阅读这个链接和那个链接,以及一些苹果文档,但没有找到解释为什么我的观点没有恢复。
在这种情况下我应该怎么做?