我有一个UINavigationController,我从Level1到Level2,在那里我选择一个行/项目;然后我回去使用后退按钮 - 但是 - 在我的等级1中我显示了一个默认选择(我通过转到Level2并选择其他内容而改变了) - 而我的等级1根本没有改变所以我想这是viewDidLoad不再被调用...如何强制重新加载?
非常感谢
干杯 geebee
EDIT1: 我知道你是对的,但是它不起作用 - 如果它与所有关于可重复使用的细胞的东西有关,那么我自己也在吵架,所以它不会重新加载......这可能吗?更多的想法
EDIT2: 事实上,它没有工作意味着我将所有代码(我实际上将其移动)从didLoad复制到viewWillAppear - 这是正确的做法吗? 或者应该尝试在正确的地方更新我的nsmutablearray? 谢谢。干杯
编辑3:事实上,在我的代码中添加一些标志/消息以了解正在发生的事情,尽管在重新显示时调用了viewWillAppear,但是不会“重新绘制/刷新”可见单元格。因此,如果我向下滚动然后向上滚动,神奇地改变正在运行并且出现但是我希望这一切从一开始就发生。任何想法请帮助。谢谢
答案 0 :(得分:3)
-viewDidLoad
只被调用一次。在请求视图控制器视图后立即调用它,例如通过访问其view
属性。因此,在您的情况下,您希望将重新加载代码放在-viewWillAppear:
中。每次显示视图控制器的视图时都会调用此方法。
答案 1 :(得分:1)
您可以将更新代码添加到控制器的-viewWillAppear:
方法
答案 2 :(得分:0)
但-viewWillAppear未在ios 4.3中调用,它确实在ios 5.0及更高版本中被调用