我有一个通用应用程序,其中包含项目列表(从后端加载)和项目详细信息(也从后端加载)。每个视图控制器都会侦听UIApplicationDidBecomeActiveNotification
,以便在用户(重新)打开应用程序时刷新视图。这到目前为止工作。
现在我的问题。在iPad上,我有一个拆分视图。因此,当用户(重新)以横向方式打开应用程序时,将重新加载两个视图。如果没有与后端的连接,则用户将获得两个具有“重试/取消”选项的警报,一个在另一个之上。这不是我想要的......我有一个默认项目,不需要连接到后端,我想将其设置为选中并在详细视图中显示其详细信息。始终在主视图中缺少最初选择的项目时。
到目前为止我做了什么...在我的主视图控制器中,我检查刷新后所选项是否可用,如果没有,我更新选择和详细视图。当以正确的顺序处理来自左窗格和右窗格的请求时,这应该可以解决问题。但是,目前两个视图控制器都获取UIApplicationDidBecomeActiveNotification
并向后端发出异步请求。
是否有人在刷新拆分视图方面有经验?什么是解决我的问题的正确方法?我真的不想引入额外的通知/复杂性。我希望,有一些标准的方法来重新加载数据。
答案 0 :(得分:0)
好吧,我找到了解决方案。
我为每个视图控制器创建一个属性alertView
,并在那里存储显示的警报视图。在viewWillDisappear
中,我忽略了此警报视图。因此,当我的默认项目的详细信息显示在右侧时,“旧”控制器的警报视图将被取消,我只有一个警报视图。
肯定不是完美的解决方案,如果有人能给我一个更好的解决方案,我会很高兴。但就目前而言,这很好。