我有一个带有标签栏的应用,该标签栏包含一些包含用户生成内容的标签。当每个视图控制器加载时,viewDidLoad方法向服务器发出HTTP请求以获取数据,然后相应地填充其视图。但是,一旦加载了所有数据,视图将保持不变(除非卸载并重新加载视图控制器)。
许多其他使用用户生成内容的应用都有类似的行为,除非每个视图都会重新加载,如果应用进入后台然后再次回到前台。也就是说,当用户在应用程序处于活动状态时在各个选项卡之间切换时,内容将不会自动刷新。如果用户“退出”应用程序然后稍后返回,则会重新加载视图。
是否有设计应用程序的标准做法以这种方式行事?具体来说,我想知道是否有UIKit细节,我可以利用它来刷新我对应用程序“重启”的看法。
否则,我想一个简单的方法是让每个视图控制器在viewDidLoad中注册通知,并监听应用程序进入前台。然后,控制器可以通过重新加载其数据来响应每个通知。
答案 0 :(得分:5)
在每个视图控制器中,您希望订阅UIApplicationDidBecomeActiveNotification
通知,并实现在收到该通知时调用的方法。这个方法会重新加载,但是你需要重新加载的数据真的超出了我们在这里可以回答的范围。我就是这样做的,以及我的建议。