Ios 如何在swift NSCoder中的UIButton内调用UIViewController

Ios 如何在swift NSCoder中的UIButton内调用UIViewController,ios,iphone,uiviewcontroller,uibutton,Ios,Iphone,Uiviewcontroller,Uibutton,我不知道如何在ui按钮内调用ui视图控制器 我有一个ViewController: import UIKit class ExampleViewController: UIViewController { private var activity: UIActivityIndicatorView private var label: UILabel required init(coder aDecoder: NSCoder) { label = UILabel() acti

我不知道如何在
ui按钮
内调用
ui视图控制器

我有一个ViewController:

import UIKit

class ExampleViewController: UIViewController {

private var activity: UIActivityIndicatorView
private var label: UILabel

required init(coder aDecoder: NSCoder) {
    label = UILabel()
    activity = UIActivityIndicatorView()
    super.init(coder: aDecoder)
}

override func viewDidLoad() {
    super.viewDidLoad()

在另一个文件中,调用如下所示:

@IBAction func myButton(sender: UIButton) {

    var pointer = ExampleViewController(coder: NSCoder)


}
我不知道在这种情况下我应该在NSCoder中写什么。如果我写ExampleViewController(),Xcode会显示一个错误“调用中缺少参数编码器的参数”。 我想我不了解一些东西,但我没有很多经验,所以我会很感激一些关于这方面的信息。
提前感谢

为什么要使用NSCoder初始化控制器?将这两行从
required init(coder-aDecoder:NSCoder)
移到
viewDidLoad()
label=UILabel()activity=UIActivityIndicatorView()
摆脱
required init(coder-aDecoder:NSCoder)
。调用视图控制器,比如so
var pointer=ExampleViewController()
BTW,通常speaker Swift不知道指针的概念,除非在非常特殊的情况下是从C或其他派生出来的。因此,我们正在创建ExampleViewController类型的变量,而不是指针。这都归功于这两种类型,但如果我这样写:class ExampleViewController:UIViewController{private var activity:UIActivityIndicatorView private var label:UILabel override func viewDidLoad(){label=UILabel()activity=UIActivityIndicatorView()super.viewDidLoad()}Swift显示一条错误消息“类ExampleViewController没有初始值设定项,如果写入初始值设定项,如必需的init(coder-aDecoder:NSCoder){super.init(coder:aDecoder)}Swift在super.ini调用时显示未初始化的属性self.activity。