タブバーをカスタマイズするために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];
customBar変数がゼロであるので、私はアプリケーションのクラッシュ同じメインクラスから
ReviewController *controller = [ReviewController controllerStoryboard:COURSE];
このコントローラーを押した場合、私は、しかしCustomTopBarController
@objcMembers public class ReviewController:CustomTopTabbarController {
public override func viewDidLoad() {
super.viewDidLoad()
}
public override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
}
}
を継承する別のクラスを作成しました。
致命的なエラー:予期せずに私はcustomBarは今、以前に初期化されていない理由を理解することはできませんよオプションの値
にアンラップしながら、nilを見つけ、私はエラーが表示されます。どんなポインタであれ、本当に役に立ちます。
ストーリーボードで行ったことを示してください。 – shallowThought
は適切にフックされていますか? – TechBee
正しくフックされています。それがなければ、CustomTopTabbarControllerを押しても機能しませんでした。 –