【发布时间】:2012-03-05 14:10:28
【问题描述】:
我遇到了问题。我有一个 UIViewController List 和一个 UIViewController Login。
在Login 上,我有一个“完成”按钮,在同一个 UIViewController 上还有另一个隐藏按钮,它与List 有一个segue(类型:push)。我在 xcode 的界面构建器中给它一个标识符,名为“LoginToList”。现在从另一个类(当Login 是活动控制器时运行的类)我调用:
[[Login sharedLogin] performSegueWithIdentifier:@"LoginToList"];
Login 类显然有一个标识符为"LoginToList" 的segue
但我不断得到:
'NSInvalidArgumentException', reason: 'Receiver (<Login: 0x6d79d90>) has no segue with identifier 'LoginToList''
+ (id) sharedLogin 看起来像这样:
+ (id) sharedLogin {
static Login *sharedLogin = nil;
@synchronized(self) {
if (sharedLogin == nil) {
sharedLogin = [[self alloc] init];
}
return sharedLogin;
}
}
如果有人知道它为什么这么说,我会很高兴听到它! :D我不知道我是否错过了一些愚蠢的东西,但我无法发现它:(
编辑:我使用 UIViewControllersselfves(Login 和 List)在 interfacebuilder 中创建了一个 segue(ctrl + 单击从 Login 拖动到 List)。然后我将segue命名为"LoginToList",换句话说,我给了它那个标识符。我点击了 segue,在右上角有一个我使用的“标识符”字段。
我仍然收到错误消息说Login 没有标识符"LoginToList" 的segue。
伤心
【问题讨论】:
-
LoginToList 是什么样的?您可以将该代码添加到您的问题中吗?
-
@AlanMoore
LoginToList不是代码,也不是类。LoginToList是我在界面生成器中创建的 segue 的标识符。 -
啊,我错了,以为是选择器的名字!
-
@AlanMoore 大声笑不,我不清楚吗?对不起...
-
@SimonBarkhuizen 是嵌入在 UINavigationController 中的登录视图控制器吗?
标签: objective-c xcode segue uistoryboardsegue