当前位置: 首页 > 面试题库 >

在Swift中为Segue做准备

季俭
2023-03-14
问题内容

我正面临错误消息:

"UIStoryboardSegue does not have a member named 'identifier'"

这是导致错误的代码

if (segue.identifier == "Load View") {
    // pass data to next view
}

在Obj-C上可以这样使用:

if ([segue.identifier isEqualToString:@"Load View"]) {
   // pass data to next view
}

我究竟做错了什么?


问题答案:

这似乎是由于UITableViewController子类模板中的问题。它带有该prepareForSegue方法的一种版本,需要您解开序列。

将当前prepareForSegue功能替换为:

override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) {
    if (segue.identifier == "Load View") {
        // pass data to next view
    }
}

这个版本隐式地解开了参数,所以应该没问题。



 类似资料:
  • 问题内容: 在上面的代码中,我有2个问题:1)。它具有编译错误:’UINavigationController!’ 没有名为“ pushViewController”的成员 但是在该类中,确实有一个pushViewController方法。 2)。我必须添加注释:@objc(SEPushNoAnimationSegue),否则,在情节提要中,它只能识别随机生成的名称,例如_tcxxxxSEPush

  • 问题内容: 我知道如何使用 prepareForSegue函数中的segues传递数据,但是我有一个TableViewCell,从那里有两个可能的segues到两个不同的ViewControllers(现在让我们说A,B)。在这里建议最好将segues连接到View控制器,而不是将tableCell本身连接​​,事实如此,效果很好。但是我想在单击单元格时将信息传递给第二个View控制器,因此如何访

  • 这一章,主要是为了把权限模型给准备好 User 用户表 Role 角色表 Permission 权限表 User -- Role 多对多 User -- Permission 多对多 Role -- Permission 多对多

  • 问题内容: 我有两个VC:VC1和VC2。在VC1中,我有一个以编程方式制作的,并且我想传递给VC2。 我知道如何在情节提要中制作Segue,但由于这是通过编程方式制作的,因此目前我不能这样做。 如果我想使用segue传递结果数组,是否有办法以编程方式进行segue?如果这不可能,我是否应该只使用VC2 并设置一个委托来传递? 问题答案: 您可以像在此答案中建议的那样进行操作: Instantia

  • 问题内容: 这是我的自定义Segue的代码 我以为这可行,但实际上只有在执行segue后,视图才会改变。我应该怎么做才能使视图在中间出现“翻转”时发生变化? 提前致谢。 问题答案: 从iOS 7开始,我们通常不使用自定义序列为过渡设置动画。我们要么使用标准的模态演示,指定一个(即,可以为模态过渡选择的一些动画的固定列表),要么实现自定义动画过渡。这两个描述如下: 如果仅显示另一个视图控制器的视图,

  • 问题内容: 如果应用程序是第一次加载,我正在尝试执行segue。我可以在调试器中看到我的打印消息,但是Perform Segue无法正常工作。我没有任何错误。有人可以告诉我怎么了吗? 问题答案: 您不能在viewDidLoad()中使用performSegue()。将其移动到viewDidAppear()。 在viewDidLoad()时,当前视图甚至还没有附加到窗口,因此尚无法进行隔离。