使用 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
属性 设置呈现它的视图控制器。换句话说,这个 属性 包含对前一个视图控制器的引用。
我有问题。
我需要帮助。我一直在寻找解决方案大约 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
属性 设置呈现它的视图控制器。换句话说,这个 属性 包含对前一个视图控制器的引用。