你如何为自己制造一个障碍?

时间:2012-08-03 05:18:16

标签: iphone ios xcode uiviewcontroller segue

我有一个游戏,当你完成一个级别。您可以选择重播该级别。所以我以编程方式创建了一个重放级别按钮,以便在关卡完成时出现,我告诉它在touchupinside时执行选择器重放级别。在我的重放级别方法中,我基本上只是执行一个segue到该级别,以便基本上重置该vc中的所有内容。但是通常当我以编程方式执行segues时,我会将vc segue转换为另一个vc,然后给它一个标识符并执行它。然而,在世界上我如何能够从我的vc中脱颖而出?

1 个答案:

答案 0 :(得分:2)

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