Swift引用子类中的Outlet

时间:2016-01-12 12:22:01

标签: ios swift subclass superclass

我定义了一个连接到故事板的UITableViewController,如下所示:

class systemwhereFilterCtrl: UIViewController, UITableViewDataSource, UITableViewDelegate  {

        @IBOutlet var mtableView: UITableView!

然后我将该类用作超类:

class mychild : systemwhereFilterCtrl  {

    override func viewDidLoad() {
        super.viewDidLoad()
    }
}

当我以mychild作为控制器启动视图并调试systemwhereFilterCtrl时,mtableViewnil

为什么超类的表视图没有初始化?

要清除:当用作超类

时,nil会出现在systemwhereFilterCtrl

3 个答案:

答案 0 :(得分:0)

您可以使用班级的self直接访问它。同样地,

class mychild : systemwhereFilterCtrl  {

    override func viewDidLoad() {
        super.viewDidLoad()
        self.mtableView.delegate = self
    }
}

希望这有帮助!

答案 1 :(得分:0)

在故事板中你的视图是否设置为使用viewcontroller mychild?您还将故事板中的tableview连接到该viewcontroller吗?

答案 2 :(得分:0)

试试这个:

override func viewDidLoad() {
//...
self.mTableView = UITableView()
let tableView = self.mTableView
//...
}