objective-c – NSInvalidArgumentException reason接收方没有标
发布时间:2020-12-14 20:06:27 所属栏目:百科 来源:网络整理
导读:我有一直在坐的问题.我有一个UIViewController列表和一个UIViewController登录. 在登录时,我有一个按钮“完成”,也是同一个UIViewController上的另一个隐藏的按钮,它具有列表(类型:推送).我在名为“LoginToList”的 xcode的界面构建器中给了它一个标识符.现
我有一直在坐的问题.我有一个UIViewController列表和一个UIViewController登录.
在登录时,我有一个按钮“完成”,也是同一个UIViewController上的另一个隐藏的按钮,它具有列表(类型:推送).我在名为“LoginToList”的 xcode的界面构建器中给了它一个标识符.现在从另一个类(一个运行的类,登录是主动控制器)我打电话: [[Login sharedLogin] performSegueWithIdentifier:@"LoginToList"]; Login类显然具有标识符“LoginToList” 但我不断得到: '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我不知道我是否缺少一些愚蠢的东西,但是我不能发现它:( 编辑:我使用UIViewControllers themselfves(登录名和列表)在interfacebuilder中创建一个segue(ctrl点击从登录到列表中的拖动).然后我命名为segue“LoginToList”,换句话说,我给它标识符.我点击了segue,在右上角有一个我使用的“标识符”字段. 我仍然收到错误,说Login没有标识符“LoginToList”. 解决方法
就您的代码段而言,您似乎试图从登录控制器中创建一个单例,但只做了一半.
无法找到seque,因为Controller是使用故事板初始化的,而不是使用您的共享类方法.所以你最终有两个独立的实例.此外,您的类方法不会使用故事板绑定初始化控制器,因此您在此处没有任何约束. 您应该尝试将LoginController的实例(已初始化的未命名的故事板段等)引用到“其他类”,并使用该实例. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |