You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

相同Swift代码在一个项目正常,另一项目报unrecognized selector错误如何解决

unrecognized selector IBAction 报错排查方案

报错信息:Thread 1: "-[Destini_iOS13.ViewController IBAction:]: unrecognized selector sent to instance 0x15ff0c250"

该错误为UIKit运行时常见错误,不属于业务代码逻辑问题,本质是运行时向ViewController实例发送了不存在的IBAction方法调用,你描述的「两份代码完全一致运行结果不同」的情况,是因为只复制了swift业务代码,没有同步复制官方项目的Interface Builder(IB)配置,和资源损坏没有必然联系。

排查步骤

  • 打开项目的Main.storyboard文件,选中报错场景对应的ViewController,点击右侧检查器面板最右侧的「连接检查器」(箭头形状的图标)
  • 查看Received Actions分类下的所有连线,所有带黄色感叹号标识的都是无对应实现的无效连线,点击连线旁的叉号直接删除
  • 右键点击触发报错的交互控件(通常是按钮),查看Sent Events下Touch Up Inside绑定的方法名,确认和代码中@IBAction修饰的方法名、参数数量完全匹配,存在不匹配的情况直接删除旧连线重新绑定
  • 清空Xcode缓存后重新构建:按Command + Shift + K清空构建缓存,再按Command + Option + Shift + K清空全部派生数据,重新运行项目
  • 打开项目设置的Build Phases标签,检查Compile Sources列表,确认ViewController.swift已被加入编译列表,没有被意外移除

按上述步骤操作后即可解决99%的同类报错。

内容的提问来源于stack exchange,提问作者GGGGGG

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 18:24:01