PresentViewController обнаружил нулевое значение в instantiateViewController - PullRequest
0 голосов
/ 11 января 2020
 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")
            }
        }
    }

введите описание изображения здесь

Я написал все идеально, что я сделал ошибку. Он нашел ноль значение по настоящее время. Я представляю viewcontroller из вкладки viewController с 4 значениями Пожалуйста, помогите или руководство. Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 11 января 2020

Глядя на описание вашего изображения, я думаю, что проблема в том, что вы пытаетесь развернуть 'headingLBL' без предварительной инициализации.

См. Swift Xcode "EXC_BAD_INSTRUCTION"

1 голос
/ 11 января 2020

Причина в том, что все выходы равны нулю, пока v c не загрузит

опции # 1

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

опции # 2

сделать переменные из того, что вам нужно отправить

class OffersVC:UIViewController {
   var sendedStr = ""

затем внутри viewDidLoad

self.headingLBL = sendedStr
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...