0

我有一个游戏,当你完成一个关卡时。您可以选择重播该级别。所以我以编程方式创建了一个重播级别按钮,当关卡完成时出现,我告诉它在 touchupinside 时执行选择器重播级别。在我的重播关卡方法中,我基本上只是要对关卡执行一个segue,以便基本上重置该vc中的所有内容。但是,通常当我以编程方式执行 segue 时,我会将 vc segue 设置为另一个 vc,并给它一个标识符并执行它。然而,我到底怎么能从我的 vc 到它自己的 segue 呢?

4

1 回答 1

2

您不应该尝试通过“自我隔离”来重置视图控制器(这实际上意味着取消分配和重新分配 VC 的内存),您应该做的是重置主游戏循环并将所有值设置回某个默认值该级别重新启动。从纯粹的技术角度来看,这也根本不可能。导航控制器(考虑到您可以成功更改视图控制器,我将假设您正在使用它)管理视图控制器堆栈,当它们发生突变时,要么解除分配,要么保留指向其视图控制器的指针。实际上,您会要求数组中的 VC 对象自动刷新自身,而不会出现一些讨厌的内存管理问题。

于 2012-08-03T05:29:25.910 回答