在特殊的 if else 条件下快速触发 Segue

Posted

技术标签:

【中文标题】在特殊的 if else 条件下快速触发 Segue【英文标题】:Swift Triggering Segue upon special if else conditions 【发布时间】:2017-11-14 00:52:17 【问题描述】:

我已经简要地遵循了文档,这就是我目前所拥有的:

ViewController.swift

 let x = "Registered!";
 let y =  jsonData.value(forKey: "results") as! String?;             
 let isEqual = (x == y)
 print(isEqual) // Gives me true or false works as expected
 if(isEqual==true)
  self.performSegue(withIdentifier:"Test", sender: self);


我正在尝试查看某个条件是否为真;然后执行 Segue。

我已经像这样在我的故事板中创建了 Segue。

我有两个视图控制器。

第一个视图和第二个视图。 然后我按下 cntrl 并将按钮从第一个视图拖到第二个视图创建一个 Segue。 然后我给我的 Segue 一个唯一标识符“Test”

但是;我只想在语句为真时才执行新视图,否则将其无效并抛出错误消息;但是我的segue似乎正在工作;它重定向到我的第二页天气条件是否成立。

我也确定了;我的第二个视图有一个类,并且已正确设置。不知道;为什么不管语句如何,它都会将用户重定向到另一个视图。我可能做错了什么?

【问题讨论】:

那是你真正的if 声明吗?如果是这样,isEqual 是什么,它是如何设置的?如果没有,请发布真实代码。这段代码在哪里?提供一些上下文。 这确实是我真正的 if 语句。它给了我一个布尔值;它按预期工作。 【参考方案1】:

问题是你的 segue 是从 Button 到 ViewController。您应该将具有相同标识符的 segue 从 ViewController 拖放到 ViewController。不是从 Button 到 ViewController

【讨论】:

这对我有用!我正在对 ViewController 做按钮。

以上是关于在特殊的 if else 条件下快速触发 Segue的主要内容,如果未能解决你的问题,请参考以下文章

如何简化大量的 if…elif…else 代码?

如何在多个if / else条件下使用Throws?

else 的特殊用法和三目运算

如何在 if-else 条件下的列中使用 Spark 值 - Scala

Python小技巧,如何简化大量的 if…elif…else 代码?

if - else 语句