gpt4 book ai didi

ios - prepareForSegue 将数据发送到容器 View 中的 TableView

转载 作者:行者123 更新时间:2023-11-30 13:22:14 25 4
gpt4 key购买 nike

我正在将数据从一个表格 View 列表发送到用作所选单元格的详细 View 的另一个表格 View 。简单 -

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
// Get the new view controller using segue.destinationViewController.
// Pass the selected object to the new view controller.
let index = tableView.indexPathForSelectedRow

if (segue.identifier == "EventDetailSegue") {
let detailVC = segue.destinationViewController as! EventDetailTableViewController
var event : Event
if searchController.active && searchController.searchBar.text != "" {
event = filteredEvents[index!.row]
} else {
event = events[index!.row]
}

detailVC.eventImage = event.image
detailVC.eventCompany = event.company
detailVC.eventName = event.name
detailVC.eventLocation = event.location
detailVC.eventPrice = event.price
detailVC.eventPromoterImage = event.promoterImage
}
}

因为我现在想在详细信息 TableView 的底部有一个静态按钮栏。我需要将 EventDetailTableViewController 更改为 UIViewController 上的容器 View 。这样我就可以在 UIViewController 中简单地做我想做的事情。

我的问题是如何仍将此数据发送到容器 View 内现在嵌入的 EventDetailTableViewController ?由于 segue 现在需要使用容器 View 转到 UIViewController,但我还需要确保此数据传递到容器内的 TableView。

最佳答案

我使用颜色而不是数据:
EventDetailTableViewController ->ViewController3
UIViewController -> ViewController2尝试这样:

class ViewController: UIViewController {

override func viewDidLoad() {
super.viewDidLoad()

}

override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
let tableVc = ViewController3()
tableVc.color = UIColor.redColor()
let vc = ViewController2()
vc.tableViewController = tableVc
self.navigationController?.pushViewController(vc, animated: true)

}

}

class ViewController2: UIViewController {

var tableViewController:ViewController3!

override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = UIColor.yellowColor()
tableViewController.willMoveToParentViewController(self)
addChildViewController(tableViewController)
tableViewController.view.frame = CGRect(x: 0, y: 100, width: 100, height: 100)
view.addSubview(tableViewController.view)
tableViewController.didMoveToParentViewController(self)


}
}
class ViewController3: UITableViewController {

var color :UIColor!

override func viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = color
}
}

希望对你有帮助:-)

关于ios - prepareForSegue 将数据发送到容器 View 中的 TableView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37642368/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com