创建一个没有nill值的对象

时间:2018-06-12 13:22:57

标签: ios swift object null

你好我是swift中的iOS编程新手,之前一些make是重复的或任何其他的充电它是我的第一个问题,所以对我来说很慢,我有点混淆创建一个对象并传递它,而它没有分配。我想分配它,但我不知道如何。请看一下图像

var jobData:Job!
var jobDataa: JobData! //  I want to pass its value to the other VC but its creating nill

var jobs = [Job]() // this is wokring fine
var jobs2 = [JobData]() // this is creating nill

在同一个班级

 override func prepare(for segue: UIStoryboardSegue, sender: Any?) {

    if(segue.identifier == "jobDetail"){
        let rowClicked = (self.tableView.indexPathForSelectedRow?.row)!
        jobData = self.jobs[rowClicked]

        let dvc = segue.destination as! JobDetailViewController
        dvc.job = jobData // here I am send 1st variable which is working fine
        //dvc.jobData = jobDataa // but here its the second variable I know its not assigned. I need to know how can I assign it to pass that value

    }
}

现在我在这里发送nil。这就是为什么它崩溃了。我需要知道如何将值赋给其他变量。请帮助我真的很绝望地解决这个问题。提前致谢。

2 个答案:

答案 0 :(得分:0)

我不知道你在哪里为jobDataa变量分配一个非零值。请告诉你这样做的地方。

jobData(另一个只有一个' a'在末尾的变量..)不是nil,因为你在声明" dvc"之前就分配了它。在你的第二个代码段中。

答案 1 :(得分:0)

只需使用此

 if(segue.identifier == "jobDetail"){
        let rowClicked = (self.tableView.indexPathForSelectedRow?.row)!
        jobData = self.jobs[rowClicked]

        let dvc = segue.destination as! JobDetailViewController

If let value = jobData {
       dvc.jobData = value

}
}

使用if语句检查nil值