繁体   English   中英

Tableview在选择时传递相同的数据

[英]Tableview passing same data on select

我有一个表格视图,按对象ID显示分析用户列表。 我正在尝试使用它,因此在点击它时会将您推送到具有相应objectId的新视图控制器。 我在单元格中可以很好地打印objectId,甚至可以将数据传递到新的视图控制器,但是它只是传递从查询中拉出的最后一个objectId。 如果有人可以帮助我弄清楚如何发送该行objectId会很有帮助。 这是我的代码:

@IBOutlet weak var objectIdData: UILabel!

internal func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

    let cell:ChatTableCell = self.tableView.dequeueReusableCellWithIdentifier("ChatCell") as! ChatTableCell
    let user = self.friends[indexPath.row]
    self.objectIdData?.text = String(user.objectId!)
    cell.cellTitle?.text = String(user.objectId).uppercaseString
    return cell

}

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {


    self.tableView.deselectRowAtIndexPath(indexPath, animated: true)
    let user = self.friends[indexPath.row]
    let secondViewController = self.storyboard!.instantiateViewControllerWithIdentifier("DetailViewController") as! DetailViewController
    secondViewController.lblDetail = objectIdData
    self.navigationController!.pushViewController(secondViewController, animated: true)

}

因此,它将objectId传递给下一个视图控制器上的lblDetail,但始终是相同的objectId,而不是与该用户/行关联的对象。 提前致谢。

didSelectRowAtIndexPath ,您要在secondViewController上设置UI元素(objectIdData isa UILabel)。

我相信您只想像在cellForRowAtIndexPath一样设置lblDetail的文本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM