也许我错过了一些简单的东西。我添加了一个从按钮到视图控制器的模态序列。然后我添加了一些步骤来 prepareForSegue (并检查我是否正确命名了 segue)。我已经做了几次没有问题。
现在,当我单击按钮时,模式窗口打开,但 prepareForSegue 不会触发。我尝试在 prepareForSegue 中放置一个日志语句,然后它甚至会检查标签的描述(因此理论上它应该为任何 segue 触发)。但我什么也没记录。
有任何想法吗?
也许我错过了一些简单的东西。我添加了一个从按钮到视图控制器的模态序列。然后我添加了一些步骤来 prepareForSegue (并检查我是否正确命名了 segue)。我已经做了几次没有问题。
现在,当我单击按钮时,模式窗口打开,但 prepareForSegue 不会触发。我尝试在 prepareForSegue 中放置一个日志语句,然后它甚至会检查标签的描述(因此理论上它应该为任何 segue 触发)。但我什么也没记录。
有任何想法吗?
将 segue 从按钮连接到下一个控制器是连接它的正确方法,只需记住在拥有按钮而不是传入控制器prepareForSegue:
的 VC 上调用它。你通过调用来获得传入的控制器。[segue destinationViewController]
好吧,我发现了我怀疑的菜鸟错误。我复制了一个 VC,却忘记将它的类设置为我的新 VC 类。
将 Segue 连接到 VC 而不是按钮。然后在 touchUpInside 事件中,把
[self performSegueWithIdentifier:@"segueid" sender:nil];
我几乎总是将 segue 连接到 VC 或 tableviewcell(如果我使用的是静态单元电视)
您应该在调用 segue 之前设置单元格的重用标识符集。我尝试了很多类似上面的解决方案并检查了 VC 设置,但没有设置原型单元的重用标识符。
只有在我将其设置为 "Cell" 之后,它才最终起作用。