你如何为自己做一个segue?

Posted

技术标签:

【中文标题】你如何为自己做一个segue?【英文标题】:How do you make a segue to yourself? 【发布时间】:2012-08-03 05:18:16 【问题描述】:

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

【问题讨论】:

如果您可以手动重置值,为什么还要继续?这没有任何意义。 好吧,我想我有点喜欢segue的酷动画 @CodaFi 但我认为我可以在没有转场的情况下制作动画 是的,标准推送动画使用kCATransitionPush 是的,但是你已经将一个新的 VC 压入堆栈,这意味着如果我重新启动你的游戏一千次,堆栈上会有 1000 个 VC,这很糟糕! 【参考方案1】:

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

【讨论】:

以上是关于你如何为自己做一个segue?的主要内容,如果未能解决你的问题,请参考以下文章

你如何为 MNIST “导入”图像数据?

你如何为ggplot中的条形图在x轴上做范围?

你如何为 Java 制作 Kotlin 静态变量和函数?

你如何为 Cobol 字帖生成 java~jrecord 代码

你如何为 IE 开发插件?

你如何为 clang 和 gcc 编写一个 makefile?