gpt4 book ai didi

ios - 访问另一个 View Controller 的函数时意外发现 nil

转载 作者:行者123 更新时间:2023-11-30 12:11:18 25 4
gpt4 key购买 nike

我在名为“BaseViewController.swift”的文件中有一个函数。当我在 viewDidLoad 中调用它(在同一文件中)时,它工作得很好。

func setFrontView(to view: UIView) {  
if view == singlePlayerContainerView {
singlePlayerContainerView.isHidden = false
twoPlayerContainerView.isHidden = true
} else if view == twoPlayerContainerView {
singlePlayerContainerView.isHidden = true
twoPlayerContainerView.isHidden = false
} else {
/
singlePlayerContainerView.isHidden = false
twoPlayerContainerView.isHidden = true
}
}

我尝试在另一个名为“PlacesView.swift”的文件中调用它,在 collectionView DidSelectItem 中:

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {  

let cell: PlacesCollectionViewCell = collectionView.cellForItem(at: indexPath) as! PlacesCollectionViewCell

let superView = BaseViewController()
switch cell.modeTitleLabel.text! {
case "Single Player":
superView.setFrontView(to: superView.singlePlayerContainerView)
print("incomplete func")
case "Two Player":
superView.setFrontView(to: superView.twoPlayerContainerView)
print("incomplete func")
case "Lie Mode":
print("incomplete func")
case "Master's Mode":
print("incomplete func")
case "Settings":
print("incomplete func")
default:
print("incomplete func")
}
print("Cell was tapped! Title: \(cell.modeTitleLabel.text!)")

}

当我点击“单人游戏”或“两人游戏”(或调用该函数的位置)时,它会给出一个错误,提示“ fatal error :在展开可选值时意外发现 nil”

谢谢

最佳答案

这段代码永远无法正常工作,因为:

  1. 您的新 ViewController 未加载,它只是创建了

  2. 您的新 ViewController 不是父 ViewController

查看此内容以了解如何获取 SuperViewController https://stackoverflow.com/a/24590678/5482826

关于ios - 访问另一个 View Controller 的函数时意外发现 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46022664/

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