使用 Swift 3 将数据从 Modal Viewcontroller 传递到 rootController(不要 Segue)

Pass data from Modal Viewcontroller to rootController with Swift 3 (don`t Segue)

我有问题。

我需要帮助。我一直在寻找解决方案大约 5 个小时。可惜没有成功。

我的问题是我有几个故事板并且创建时没有使用 Segue。

我希望将选定的 Tableviewcell 标题传递给 rootViewController。

这是我的 ModalViewTable 中的代码:

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath){
    let indexNumber = "\(indexPath.row)"

    let indexPath = tableView.indexPathForSelectedRow
    let currentCell = tableView.cellForRow(at: indexPath!) as UITableViewCell!
    let storyboard = UIStoryboard(name: "addTime", bundle: nil)
    var viewController = storyboard.instantiateViewController(withIdentifier: "addTimeVC") as! addTimeViewController
    viewController.test = "TESTABCDEF"
    passedValue = ("\(indexNumber)")
    dismiss(animated: true, completion: nil)
}

我的 firstViewController 中有一个 属性 test。这里有什么问题? 我也尝试过委托和闭包,但没有成功。请帮我。

试试这个:

let indexNumber = "\(indexPath.row)"
let indexPath   = tableView.indexPathForSelectedRow
let currentCell = tableView.cellForRow(at: indexPath!) as UITableViewCell!

let viewController = navigationController!.presentingViewController as! addTimeViewController
viewController.test = "TESTABCDEF"
passedValue = ("\(indexNumber)")
navigationController!.dismiss(animated: true, completion: nil)

当您使用 present(_:animated) 方法以模态方式呈现视图控制器时,呈现 的视图控制器具有 presentingViewController 属性 设置呈现它的视图控制器。换句话说,这个 属性 包含对前一个视图控制器的引用。