Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/98.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 将视图控制器视图添加到子视图时发现无_Ios_Swift - Fatal编程技术网

Ios 将视图控制器视图添加到子视图时发现无

Ios 将视图控制器视图添加到子视图时发现无,ios,swift,Ios,Swift,我有一个带有表视图的视图控制器,需要将其作为子视图添加到另一个视图控制器,但是当我添加视图控制器的视图时,我得到一个指向表的nil。所有的连接都在那里,但无法破解它崩溃的原因 子控制器 class childController: UIViewController, UITableViewDelegate, UITableViewDataSource { @IBOutlet weak var table: UITableView! override func viewDidL

我有一个带有表视图的视图控制器,需要将其作为子视图添加到另一个视图控制器,但是当我添加视图控制器的视图时,我得到一个指向表的nil。所有的连接都在那里,但无法破解它崩溃的原因

子控制器

class childController: UIViewController, UITableViewDelegate, UITableViewDataSource {

    @IBOutlet weak var table: UITableView!

    override func viewDidLoad() {
        super.viewDidLoad()

        table.delegate = self
        table.dataSource = self
    }

}
父控制器

func presentChildController() {
    let childVC = childController()
    self.view.addSubview(childVC.view)
}

此代码是完全非法的:

func presentChildController() {
    let childVC = childController()
    self.view.addSubview(childVC.view)
}
您不能简单地创建视图控制器、获取其视图并将其视图填充到您自己的视图中。如果您希望视图控制器(
self
)作为父视图控制器运行,并且
childController
作为子视图控制器运行,那么您必须做一件事,而您并没有这样做。因此,
childVC
(您的
childController
)立即消失,这就是您所经历的
nil
崩溃的原因

顺便说一句,另一个可能的原因是,如果您的
childController
是在情节提要中设计的,
childController()
是错误的实例化方式-情节提要中的表视图永远不会存在。您必须确保视图控制器的视图是您设计的视图