enter image description here这是我第一次发帖提问而不确定它是如何运作的。我正在快速做作业。我陷入了需要将数据从tableview传递给viewcontroller的地步。在我的第一个ViewController上,我有一个来自数据库表的数据列表(类别),当用户点击任何一个单元格时,它应该转到下一个viewcontroller,标签成为标题。请找我附的屏幕截图。
由于
init(descriptor:size:)
我尝试使用func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return values.count;
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! CategoryList_TableViewCell
let maindata = values[indexPath.row]
cell.categoryLabel.text = maindata["NAME"] as? String
return cell;
}
和didSelectRowAtIndexpath
函数,但没有理解。
提前感谢一百万人:)
答案 0 :(得分:5)
您不需要实现didSelectRow只是为了通过segue传递数据。假设您正在使用故事板。
CTRL从故事板中的原型TableViewCell拖动到要传递数据的ViewController。
为segue类型选择Show并为其指定标识符
在prepareForSegue中执行此操作:
if segue.identifier == "catView" {
if let indexPath = self.tableView.indexPathForSelectedRow {
let controller = segue.destinationViewController as! YourViewController
let value = values[indexPath.row]
controller.catTitleRec = value["NAME"] as! String
}
答案 1 :(得分:1)
在didSelectRowAtIndexPath
:
let maindata = values[indexPath.row]
self.performSegueWithIdentifier("yourIdentifier", sender: mainData)
然后,在prepareForSegue
函数中执行此操作:
let destinationVC = segue.destinationViewcontroller as! YourCustomViewController
destinationVC.yourObject = sender as! YourObject