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

use*_*039 33 xcode uiviewcontroller ios

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

我需要做什么才能将我的故事板中的视图控制器连接到我的.swift代码,因此viewDidLoad()被称为?

我看到有这样的:如何将storyboard连接到viewcontroller

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

Lac*_*tan 83

  1. 在故事板或场景列表中选择您的ViewController(我的名字叫Circuit).
  2. 单击Identity Inspector右侧的
  3. 选择Custom Class > Class > Type name of your swift file.

完成:)

这是图像上的这两个步骤(丑陋我知道)

  • 如果项目混合了“ Obj-C”和“ Swift”类,又有“ Obj-C” ViewController类和“ Swift” ViewController类怎么办? (2认同)

Ike*_*bal 5

哟,有你ViewControler在它的一些对象创建(UILabel,UIButton,UIImage...)

在此处输入图片说明

1 - 您需要将故事板中的 ViewControler 链接到您的ViewController.swift,按照图片执行此操作

在此处输入图片说明

2 - 在类字段中输入 ViewController 类的名称。有了它,您只需将您的 storyBoard 视图控制器链接到您的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! 
}
Run Code Online (Sandbox Code Playgroud)

4 - 要将故事板中的 UILabel 链接到您的 UILabel 变量或将故事板中的 UIButton 链接到您的 UIButton 变量,请按照以下图像进行操作

首先在storyboard中选择view controller

在此处输入图片说明

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

在此处输入图片说明 在此处输入图片说明

现在你只需要把变量拖到对应的对象上就可以了。在此处输入图片说明

请记住对所有变量执行此操作,您需要为故事板中的每个对象创建一个变量