【发布时间】:2016-10-25 10:10:09
【问题描述】:
我有一个表视图控制器,其中包含来自 Firebase 数据库的 3 个变量。 我想将此数据传递给详细信息视图控制器。 目前,我只有“title”(label1) 从 TableVC 传递到 Details VC。
如何将其余数据(label2 和 label3)传递给 DetailsVC?
MondayTableVC:
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("Cell_Monday")
let messageSnapshot: FIRDataSnapshot! = conf[indexPath.row]
let message = messageSnapshot.value as! Dictionary<String, String>
// print(message)
let label1 = cell?.viewWithTag(1) as! UILabel
label1.text = message["title"]
let label2 = cell?.viewWithTag(2) as! UILabel
label2.text = message["place"]
let label3 = cell?.viewWithTag(3) as! UILabel
label3.text = message["date"]
return cell!
}
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
let messageSnapshot: FIRDataSnapshot! = conf[indexPath.row]
let message = messageSnapshot.value as! Dictionary<String, String>
let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil)
let monDetails = storyBoard.instantiateViewControllerWithIdentifier("mondayDetails") as! MondayViewController
monDetails.title = message["title"]
monDetails.mondayDetailDict = message
self.navigationController?.pushViewController(monDetails, animated: true)
}
星期一(详细信息)ViewController:
class MondayViewController: UIViewController {
var mondayDetailDict: Dictionary<String, String> = Dictionary()
@IBOutlet weak var label1: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
有人可以帮助解决这个挑战吗?
【问题讨论】:
-
使用 UILabel 插座创建您自己的单元格子类,并将数据放入单元格中。
-
为什么不将整个
message发送到MondayViewController? -
@Adeel 我该怎么做?
-
@gryzek 实际上,您已经在
monDetails.conferenceDetailDict = message这一行中发送了整个message字典。 -
@Adeel 是的,但只显示“标题”。而已。我该如何改进?
标签: ios swift uitableview firebase firebase-realtime-database