导航到 UIViewController 的异常错误

Posted

技术标签:

【中文标题】导航到 UIViewController 的异常错误【英文标题】:Exception Error Navigating To UIViewController 【发布时间】:2015-12-10 17:59:21 【问题描述】:

首先,我只想感谢这个社区在网络上创建了最好的支持网站。我的情况是我已经有一个可以与导航控制器和 2 个视图控制器一起使用的应用程序。我做了以下事情:

    在其中一个视图控制器上创建了一个新的 UIButton。 将一个 segue 链接(Push)从按钮拖到新的视图控制器。 添加了一个新的 SupportViewController 类。 在 SupportViewController 的新视图控制器中设置自定义类。

当我单击按钮时(无论我将 segue 设置为推送还是模式),我得到: *** 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[SupportViewController setCelebrityInfo:]:无法识别的选择器发送到实例 0x7ff01adf30d0”

显然我遗漏了一些东西,我只需要其他人的专业知识来为我指明正确的方向。

谢谢!

【问题讨论】:

显示prepareForSegue 方法中的代码以及声明celebrityInfo 属性/方法的位置。 在你的代码中搜索 CelebrityInfo,看看发生了什么 当我搜索项目时,我什至没有在结果中看到 setCelebrityInfo - 它是从哪里得到的? 你在任何地方都有一个名为名人信息的属性吗? 【参考方案1】:

我在另一个视图控制器上创建了一个按钮,并且没有问题地链接到新的视图控制器,所以在我使用解决方法时关闭它。感谢所有做出贡献的人,即使您确实使用了点名。

【讨论】:

我们应该走下去:)))【参考方案2】:

再次检查您的语法,确保 setCelebrityInfo 接受参数。如果没有去掉 final ":" 如果我​​们有一个声明为 -(void) setCelebrityInfo 的方法,我们在调用它时不需要使用 :。如果我们有类似(类型)方法(参数)的东西,我们正在使用:。我希望这个简单的例子对你有所帮助。确保您在目标视图控制器(代码)中定义并实现了此类方法。

【讨论】:

当我搜索项目时,我什至没有在结果中看到 setCelebrityInfo - 它是从哪里得到的? 我认为你可以轻松搜索 addTarget 你提供了一个我用来解决我的问题的答案,然后你转而骂我,这有什么建设性的?如果这里的每个人都知道事情是如何运作的,那么这个网站的意义何在?我没有从另一个项目复制/粘贴(如果我这样做的话,我可能会取得更大的成功)。我在 El Capitan 下使用 Xcode 7.2。就是这样。 清理你的构建,然后重试。我认为这些来自以前的构建(剩菜)。还清理派生数据。还要从设备中删除应用程序然后进行干净的构建运行等等。就是这样。

以上是关于导航到 UIViewController 的异常错误的主要内容,如果未能解决你的问题,请参考以下文章

如何从 UIView 导航到 UIViewController

在 Swift 2.3 中导航到 UIViewController

导航到另一个 UIViewController 后,UITabBarController 消失

从自定义 UIViewController 导航到 TabBarController 而不使用 segue

如何使用 PushViewController 方法从 UIViewClass 导航到 UIViewController 类

将 2 个或更多 UIViewController 类添加到导航堆栈