Ios 致命错误:在继承类中展开可选值时意外发现nil
我创建了一个CustomTopTabbarController来定制选项卡栏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
@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。