gpt4 book ai didi

ios - 如何修复 IBOutlet 配置上的 nil 错误和调用 View Controller 时不显示 UI?

转载 作者:行者123 更新时间:2023-12-01 21:58:10 33 4
gpt4 key购买 nike

当我尝试以编程方式配置我的 IBOutlets 时,我遇到了一个错误。每当我尝试设置我的 UI 时,我都会收到此错误:

Fatal error: Unexpectedly found nil while implicitly unwrapping an Optional value



但是当我注释代码( setupKategori() 函数)时,我的 UI 变得像这样透明(您可以看到只有导航栏可见,XIB 文件中的所有项目都应该可见):

enter image description here

这是我的代码:

设置界面功能
func setupKategori() { // the function that throws the error whenever I call it in viewDidLoad()
kategoriLabel.font = .boldTitilliumWeb(ofSize: 18)
kategoriLabel.textColor = .init(hex: "#333333")
kategoriLabel.sizeToFit()

kategoriDetailLabel.font = .boldTitilliumWeb(ofSize: 18)
kategoriDetailLabel.textColor = .init(hex: "#222222")
kategoriDetailLabel.sizeToFit()

showKategoriButton.addTarget(self, action: #selector(showKategoriAction(_:)), for: .touchUpInside)
}

编辑: 调用 View Controller
func routeToFilter() {
//Analytics.logEvent("pw_list_filter", parameters: nil)
let destinationVC = FilterPWVC()
let nav = UINavigationController(rootViewController: destinationVC)
present(nav, animated: true, completion: nil)
}

对于一些信息,我已经从 XIB 文件连接了 IBOutlets。而且我对 iOS 编程真的很陌生,所以我对它的了解仍然有限。如果您需要更多信息,请随时询问,我会提供给您。任何帮助,将不胜感激。谢谢!

最佳答案

由于您尝试使用 init() 实例化 View Controller 方法(依次调用 init(nibName:bundle:) 并使用 nil 参数),那么如果您希望从 xib 文件加载 View Controller ,则 xib 文件的文件名必须与 View Controller 的类名相同。

因此,在您的情况下,它应该是:“FilterPWVC.xib”,而不是“FilterPWView.xib”。

或者,而不是重命名 xib 并使用 init() ,您也可以使用 init(nibName:bundle:) 指定 Nib 名称直接,像这样:

// I'm assuming the xib is in the main bundle, so I've passed `nil` 
// in for the bundle here
let destinationVC = FilterPWVC(nibName: "FilterPWView", bundle: nil)

关于ios - 如何修复 IBOutlet 配置上的 nil 错误和调用 View Controller 时不显示 UI?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60985341/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com