如何将 ViewController.swift 连接到 Storyboard 中的 ViewController?

Posted

技术标签:

【中文标题】如何将 ViewController.swift 连接到 Storyboard 中的 ViewController?【英文标题】:How to connect ViewController.swift to ViewController in Storyboard? 【发布时间】:2014-12-06 07:21:48 【问题描述】:

我在 Storyboard 中创建了一个新的视图控制器,并创建了一个继承 UIViewController 的新 .Swift 文件。但是,我的viewDidLoad() 没有被调用。

我需要怎么做才能将我的故事板中的视图控制器连接到我的 .swift 代码以便调用 viewDidLoad()

我看到了:How to connect storyboard to viewcontroller

但是,在默认项目中,FirstViewController(storyboard) 在该框中没有 FirstViewController,它是空的,但仍会调用 viewDidLoad()。这没有意义。

【问题讨论】:

提供的链接是正确的,您只需在 Class 字段中选择正确的 Swift 文件即可; 【参考方案1】:
    在情节提要或场景列表中选择您的 ViewController(我的称为 Circuit)。 点击右侧的Identity Inspector 选择Custom Class > Class > Type name of your swift file

完成:)

【讨论】:

如果项目是Obj-C & Swift 类的混合,并且有Obj-C ViewController 类和Swift ViewController 类怎么办? 值得注意的是,我的 xcode ui 除了显示的按钮外,还有所有 4 个按钮。太好了。【参考方案2】:

您的ViewControler 创建了一些对象(UILabelUIButtonUIImage...)

1 - 您需要将情节提要中的 ViewControler 链接到您的 ViewController.swift ,按照图片进行操作

2 - 在类字段中输入 ViewController 类的名称。这样,您只需将您的故事板视图控制器链接到您的 viewController.swift

类 = ViewController.swift

3 - 现在您需要创建要分配的变量(UILabel、UIButton ... 您在情节提要中拥有的):在此示例中:

class MovieDetailViewController: UIViewController, DetailView 
    
    var presenter: MovieDetailPresenter!
    var movie: Movie?
    
    @IBOutlet weak var lblMovieYear: UILabel!
    @IBOutlet weak var lblMovieTitle: UILabel!
    @IBOutlet weak var movieImage: UIImageView!
    @IBOutlet weak var lblMovieRating: UILabel!
    @IBOutlet weak var lblMovieOverview: UILabel! 

4 - 要将情节提要中的 UILabel 链接到您的 UILabel 变量或将情节提要中的 UIButton 链接到您的 UIButton var,请按照下一张图片进行操作

首先在storyboard中选择视图控制器

第二次选择右上角的parragraf图标并单击“助手”,它将打开您的ViewControler.swift屏幕

现在只需要将变量拖到对应的对象上即可。

记住要对所有变量执行此操作,您需要为情节提要中的每个对象创建一个变量

【讨论】:

【参考方案3】:

连接故事板和视图控制器

你应该设置ViewController in Class`字段

【讨论】:

以上是关于如何将 ViewController.swift 连接到 Storyboard 中的 ViewController?的主要内容,如果未能解决你的问题,请参考以下文章

如何将值从 SceneDelegate 文件传输到 ViewController (Swift 5)

如何将变量从 ViewController 类传递给其他结构?

如何解决UIImageView连接到Swift4? [关闭]

从按钮将值传递给视图控制器字典

从子视图访问属性到 ViewController Swift

如何在ViewController2.swift类的overCurrentContext视图中显示图像?