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

为何无法将Storyboard中的第二个视图控制器关联到新建Swift文件?

问题原因及解决方案

哦,这个问题我太熟悉了!核心原因非常明确——你的自定义类继承错了父类,导致Storyboard无法识别它是一个可用的视图控制器类。

具体原因

Storyboard里的视图控制器需要关联的是**UIViewController(或它的子类,比如UITableViewController)**,只有这类继承自UIViewController的类,才具备视图控制器的核心能力,系统也才会把它们列入「Custom Class」的可选列表中。

而你写的代码里,EditImageViewController继承的是NSObject:

import UIKit 
class EditImageViewController: NSObject { }

NSObject是所有Swift/Objective-C对象的基类,它没有视图控制器的相关属性和方法,完全不符合视图控制器的要求,所以系统自然不会把它显示在可选列表里。

解决方法

只需要修改类的继承关系,让它继承自UIViewController即可,修改后的代码如下:

import UIKit

class EditImageViewController: UIViewController {
    // 你可以在这里添加视图控制器的逻辑,比如override viewDidLoad()等方法
}

修改完成后,按**Command+B编译你的项目**,然后回到Storyboard的「Identity Inspector」里,就能在「Class」字段的下拉列表中找到这个类了。

额外小提示

如果编译后还是找不到,你可以检查这两点:

  • 确保你的Swift文件已经添加到当前项目的target中(选中文件,打开右侧的File Inspector,在「Target Membership」里勾选对应的target)
  • 尝试Clean项目(Command+Shift+K)后重新编译

内容的提问来源于stack exchange,提问作者four-eyes

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:46:47