你好我是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。这就是为什么它崩溃了。我需要知道如何将值赋给其他变量。请帮助我真的很绝望地解决这个问题。提前致谢。
答案 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值