PresentViewController 在 instantiateViewController 上发现 nil 值


func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
if collectionView.tag == 2{
switch indexPath.item {
case 0:
if let vc = storyboard?.instantiateViewController(withIdentifier: "offersScreen") as? OffersVC {
vc.cityID = self.cityID!
vc.categoryID = indexPath.item + 1
vc.headingLBL.text =  self.names[indexPath.item]
vc.cityLBL.text = self.selectCity.text!
present(vc, animated: true, completion: nil)
}   
case 1:
print("You're heading VC 1!")
case 2:
print("You're heading VC 2!")
case 3:
print("You're heading VC 3!")
default:
print("Something went wrong")
}
}
}

在此处输入图像描述

我把一切都写得很完美,我犯了什么错误。它发现目前没有价值。我从标签栏视图呈现视图控制器具有 4 个值 请帮助或指导。 提前谢谢。

原因是所有插座都是零,直到 vc 加载

选项 #1

vc.loadViewIfNeeded()
vc.headingLBL.text =  self.names[indexPath.item]

选项 #2

制作您需要发送的内容的变量

class OffersVC:UIViewController {
var sendedStr = ""

然后在里面viewDidLoad

self.headingLBL = sendedStr

查看您的图像描述,我认为问题在于您试图在没有首先初始化它的情况下解开"headingLBL"。

参见 Swift Xcode "EXC_BAD_INSTRUCTION">

相关内容

  • 没有找到相关文章

最新更新