【发布时间】:2013-11-27 18:41:29
【问题描述】:
在我的应用程序中,有一个聊天服务。当用户想给某人发消息时,他按下“新聊天”,然后显示一个表格视图控制器以从朋友列表中进行选择。我正在使用 unwind segues 以返回到前一个视图控制器并在两个视图控制器之间共享数据(主要是数据将成为聊天的朋友)。 unwind segue 完美运行,但是在我的应用程序中,当用户返回主 VC 时,我启动了一个新的 segue 以便直接转到另一个用户聊天的 VC;这不起作用。所有segues都连接良好,我在每个角落都尝试了NsLog,它正在进入那里,甚至prepareForSegue:正在被访问。我尝试放置一个 NsTimer,认为可能存在一些技术冲突,但它没有用。我将聊天 VC 的 segue 更改为模式,现在它给了我这个错误:
警告:尝试呈现不在窗口层次结构中的视图!
我可以通过其他方式访问此 VC,它位于层次结构中。我的问题是:可能出了什么问题? unwind segues 会改变 Windows 层次结构吗?
图片:
为了更直观地呈现问题,我正在谈论的主 VC 位于左下方,连接到导航视图控制器。当用户按下新聊天时,右上角的两个 VC 会出现(一个用于在朋友或群组之间进行选择,另一个用于显示朋友/群组)。因此,当从右上角的 VC 中选择一个朋友时,我应该将 segue 放松到主 VC。正如您从主要的 VC 中看到的,还有其他的 segues。如果我放松 segue,它们中的任何一个都不能工作,如果我正常操作,它们确实可以工作。
【问题讨论】:
-
纯粹是猜测,考虑到我们看不到您的故事板或代码,但很可能您正试图从展开 segue 已解除的视图中呈现视图控制器,您能否向我们展示任何代码或任何东西?
-
@JAManfredi 好的,我添加了图片和解释。我猜代码很少,不会有任何区别。希望很清楚。
标签: ios objective-c xcode