0

我正在开发一个适用于 2 个不同视图的应用程序。今天我注意到每次我从视图 1 到视图 2 时,应用程序都会创建一个新视图。当我返回前一个视图时,它只是创建了一个新的 view1 实例,即它在内存中创建了一个新视图。(并保留前一个)

每次用户将视图传递给另一个视图时,我想使用相同的视图而不创建新实例(内存中的新视图)。

我想在我创建的两个视图之间进行转换。

注意:我正在使用带有 Storyboard 和 ARC 的 iOS 6。过渡是由轻击手势识别器完成的。一旦我点击视图,它就会使用模态转换进入下一个视图。

4

1 回答 1

0

当您从视图控制器 1 转到视图控制器 2 作为模态(呈现)视图控制器时,您使用模态 segue。这确实会创建视图控制器 2 的新实例。当您返回时,在 iOS 6 中,您必须对第一个视图控制器使用展开转场。这将导致视图控制器 2 不存在,它将使用现有的视图控制器 1,而不是创建新的视图控制器 1。

这是我对 unwind segues 的解释。

http://www.aeth.com/iOSBook/ch19.html#_unwind_segues

(要么这样,要么根本不使用segue;只要称呼dismissViewController你自己,就像我们在iOS 5 中在unwind segues 存在之前所做的那样。或者一开始就不要使用故事板;它们真的没有必要。这是我的呈现的 ["modal"] 视图控制器的解释:http ://www.aeth.com/iOSBook/ch19.html#_presented_view_controller )

于 2013-03-22T22:02:14.057 回答