2017-10-09 26 views
0

点击时,AlertController可以在表视图的每个单元中正常工作。在警报中按下“OK”后,当我再次点击同一个单元格时,它会发出sigabrt错误。不知道该做什么。以下是代码:如果表视图中的某个单元再次点击,则UIAlertController会发出sigabrt错误

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
    let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! JobsTableViewCell 
    cell.jobTitle.text = jobTitle[indexPath.row] 
    cell.jobDescription.text = jobDetail[indexPath.row] 

    return cell 
} 

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 
    let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! JobsTableViewCell 
    cell.jobTitle.text = jobTitle[indexPath.row] 
    cell.jobDescription.text = jobDetail[indexPath.row] 

    displayMessage(titleAlert: jobTitle[indexPath.row], userMessage: jobDetail[indexPath.row]) 
} 
+0

这哪里是JOBTITLE全局变量来自哪里?为什么它是全球性的? – Msencenb

+0

@Minnb这是这个类的变量,值添加到它ViewDidLoad() –

回答

2

您的didSelect应如下所示。

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 

    displayMessage(titleAlert: jobTitle[indexPath.row], userMessage: jobDetail[indexPath.row]) 
} 

没有必要在didSelect再次离队

+0

真棒,这是一个很好的捕获。感谢它的工作! –

相关问题