【发布时间】:2014-11-17 12:08:30
【问题描述】:
- 我使用情节提要创建了一个
scrollView。 - 我在
scrollViewController中编程创建了10 个myController(它们是UITableViewControllers),所以我可以使用panGesture在表之间切换。并且运行良好。 - 我使用storyboard创建了
tableViewController,设置myController为对应的视图控制器。 - 在导航控制器中嵌入了
tableViewController。 - 控制从表格单元格拖动到新的视图控制器以创建推送转场。
- 设置转场。
在运行应用程序时,永远不会调用prepareForSegue:。
编辑:注意到这个问题后,我做了以下事情,但没有运气。
我还在情节提要中正确设置了 segue 标识符。并添加以下代码:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[self performSegueWithIdentifier:@"segueIdentifier" sender:self];
}
但是当我点击屏幕上的任何表格单元格时,程序将崩溃并出现以下错误:
* 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“Receiver () 没有标识符为“segueIdentifier”的segue” * 首先抛出调用栈:
这是为什么呢?
【问题讨论】:
-
错误是不言自明的,不是吗?您尝试执行的转场在您的故事板中不存在。您可能忘记命名了,或者标识符中有错字。
-
我确实通过单击 segue 图标添加了 segue 标识符并将文本放入标识符框中。你说的是这个吗?
-
是的,尽管我很确定这与您以编程方式创建的控制器有关。 Segues 只能与故事板一起使用,但您可以尝试创建手动 segue。见:stackoverflow.com/questions/9674685/…
-
我又查了一遍标识符,完全没问题,一模一样。
-
是否匹配
segueIdentifier?两者必须相同。还要确保在键入后按回车键(或返回),否则不会设置。
标签: ios objective-c uitableview segue