快速从模态表视图返回值到主表视图(IOS)

时间:2018-10-16 05:29:25

标签: ios swift

我有一个带有tableview的主viewController。当在单元格上按下按钮时,将出现一个模态,并允许用户选择多个选择。因此,我提出了一个模态控制器,它又是一个tableViewController,在关闭时将给出一个字符串值。但是一旦modalView被关闭并返回到我的主tableView,tableView.reload()在展开一个可选值时将显示Nil。

代码:

// In modalTableViewController
//Protocol
protocol modalViewControllerDelegate {
func sendText( text: String)
}

//after all cell operations Done Button Action
@IBAction func doneBtnPressed(_ sender: Any) {

    mystr = selectedValues.joined(separator: ",")
    if(mystr != "")
    {
        let vc = viewController()
        delegate?.sendText(text: self.mystr)
    }
    self.dismiss(animated: true, completion: nil)
}
//In viewController
class ViewController : UIViewController,modalViewControllerDelegate{
 func sendText(text: String) {
    saveFormValue(mystr: text)
}
// .....
//SaveFunction
func saveFormValue(mystr:String){
self.tableView.reloadData() //HERE IAM GETTING ERROR (FOUND NIL)
//save operations goes here

}


.....
///
//Checking Cell type and calling function
if (cell.type == .multiSelect) {
    showCheckBox(data: ["One","Two","Three"])       
}
// Modal view function
func showCheckBox(data:[String])
{
    print("ShowCheckBox")
    checkBoxData = data //Assigning to a globalVariable
    self.performSegue(withIdentifier: "multiselectSegue", sender: self)
}

1 个答案:

答案 0 :(得分:0)

您是否将mainVC分配为模式的委托?我相信这是您所缺少的步骤(基于发布的代码)

如果是,则可能要添加断点并检查sendTextsaveFormValue方法是否真正被调用。