Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/100.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/19.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 致命错误:在继承类中展开可选值时意外发现nil_Ios_Swift_Uitabbarcontroller_Iboutlet - Fatal编程技术网

Ios 致命错误:在继承类中展开可选值时意外发现nil

Ios 致命错误:在继承类中展开可选值时意外发现nil,ios,swift,uitabbarcontroller,iboutlet,Ios,Swift,Uitabbarcontroller,Iboutlet,我创建了一个CustomTopTabbarController来定制选项卡栏 @objcMembers public class CustomTopTabbarController:UITabBarController { @IBOutlet weak var customBar: UITabBar! public override func viewDidLoad() { super.viewDidLoad() customBar.frame = CGRect(x: 0, y

我创建了一个CustomTopTabbarController来定制选项卡栏

@objcMembers public class CustomTopTabbarController:UITabBarController {

@IBOutlet weak var customBar: UITabBar!
public override func viewDidLoad() {
    super.viewDidLoad()
    customBar.frame = CGRect(x: 0, y:  0, width: customBar.frame.size.width, height: customBar.frame.size.height)

}

public override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)

}
}
在我的主类中,如果我按下CustomTopBarController,那么tabBar将按预期加载

CustomTopTabbarController *controller = [CustomTopTabbarController controllerStoryboard:UTILITY];
我创建了另一个继承CustomTopBarController的类

@objcMembers public class ReviewController:CustomTopTabbarController {
public override func viewDidLoad() {
    super.viewDidLoad()     
}

public override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)

}
}
但是,如果我从同一个主类推送此控制器

ReviewController *controller = [ReviewController controllerStoryboard:COURSE];
应用程序崩溃,因为customBar变量为nil。我收到一个错误:

致命错误:在展开可选值时意外发现nil


我无法理解为什么customBar会更早初始化,而不是现在。任何指针都会非常有用。

我假设您已将新场景添加到情节提要文件中,将其视图控制器的类更改为
ReviewController
,并尝试从情节提要加载它


如果您这样做,您必须将所有插座分别连接到
ReviewController
。这些连接不会在场景之间继承。这就是为什么对于界面生成器来说,视图控制器的继承不是很有用的原因。

请显示您在情节提要中所做的操作。是否正确钩住?是否正确钩住。如果不是这样的话,那么也不会推送CustomTopTabbarController。