【发布时间】:2016-06-05 13:17:53
【问题描述】:
我正在将数据从一个 tableview 列表发送到另一个 tableview,用作所选单元格的详细视图。简单——
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
}
}
因为我现在想在详细表格视图的底部有一个静态按钮栏。我需要将 EventDetailTableViewController 更改为 UIViewController 上的容器视图。所以我可以在 UIViewController 中简单地做我想做的事情。
我的问题是我如何仍将这些数据发送到容器视图内现在嵌入的 EventDetailTableViewController?由于 segue 现在需要使用容器视图进入 UIViewController,但我还需要确保将这些数据传递给容器内的 TableView。
【问题讨论】:
-
创建一个 EventDetailTableViewController 的实例,然后设置它的数据,然后将它传递给 UIViewController。在 UIViewController viewdidload 中使用 EventDetailTableViewController 实例
-
谢谢,试试看!在 viewdidload 中使用 EventdetailTableViewController 实例是什么意思?在创建一个实例并通过 segue 将其传递给 UIViewcontroller 之后,我如何将它放入其容器内的 EventDetailTableViewController 中?
-
让实例成为childcontroller然后把tableview放到你想要的容器视图中
-
为什么不把 EventDetailTableViewController 改成 UIViewController 的子类而不是 UITableViewController。然后,您可以在一个 VC 中做任何您想做的事情。
-
目前我有 EventDetailTableViewController 类:ParallaxTableViewController。这是我在 github 上找到的一个库。我还能简单地将所有这些子类化到标准的 UIViewController 中吗?威尔逊您能否举一个代码示例来说明您对子控制器的含义我不太确定我是否理解:)
标签: ios swift uitableview uicontainerview