ViewController 实例如何链接到情节提要

Posted

技术标签:

【中文标题】ViewController 实例如何链接到情节提要【英文标题】:How a ViewController instance links to the storyboard 【发布时间】:2020-06-06 03:38:26 【问题描述】:

我开始使用 Xcode、Swift 等进行 ios 开发,我想知道我的 ViewController 类的实例究竟是如何链接到我的故事板的。这是我的 MRE:

import UIKit

class ViewController: UIViewController 
    @IBOutlet weak var theButton: UIButton!

    @IBAction func buttonPressed(_ sender: UIButton) 
        print("The button was pressed")
    

我猜我的应用程序将在后台某处实例化ViewController,并调用其各种方法,例如buttonPressed。但是,如果我假设创建我的类的两个单独实例并且用户按下按钮,这两个实例都会调用它们的 buttonPressed 方法吗?我自己会对此进行测试,但我对这一切的工作原理还不够了解。

【问题讨论】:

【参考方案1】:

在storyboard中,勾选identity inspector,当你设置类名时,ViewController会和storyboard链接起来,看下图就明白了

每当 ViewController 与情节提要中的任何场景链接时,您都可以将动作或插座插入到该视图控制器中

【讨论】:

我知道这一点。我已经创建了我的@IBOutlet@IBAction。我想知道的是,如果实例化 ViewController 的两个实例,它们将如何交互。 您通常一次只能看到一个视图控制器实例。如果您确实有两个可见的实例,那么如果视图控制器,每个按钮都会与它自己的实例交互 正确@Paulw11 那么,第二个实例会创建一个带有第二个按钮的第二个“屏幕”吗? 是的,当你创建时就像 let viewcontroller = ViewController() // 这是一个屏幕

以上是关于ViewController 实例如何链接到情节提要的主要内容,如果未能解决你的问题,请参考以下文章

如何将我的新视图添加到情节提要?

如何使用情节提要将 CollectionView 添加到 ViewController?

在 viewDidLoad 之前调用 ViewController 上的自定义 init 方法

如何从 xib 文件 uiview 到情节提要 ViewController

如何使用给定的根视图控制器和初始视图控制器实例化情节提要?

故事板链接按钮到.h