gpt4 book ai didi

ios - 表格 View 帮助…..从一个表格 View 中选择的单元格 swift 传递到另一个表格 View

转载 作者:行者123 更新时间:2023-11-29 01:53:39 24 4
gpt4 key购买 nike

enter image description here

这是一个由两部分组成的问题...

  1. 我的问题是....弄清楚如何在第一个表格 View 中显示选定的单元格...(来自解析的 pfobjects)保存到一个数组中然后能够填充另一个表格 View Controller 上的选定单元格...

  2. 如何将第一个表格 View 的选定单元格存储到另一个表格 View 的一个表格 View 单元格中,然后在其上有一个显示指示器,打开它可以看到所有添加的单元格?抱歉,这比要更改或添加的具体代码更具概念性……这是我到目前为止所拥有的……先谢谢 friend 了。

    override func tableView(tableView:UITableView, cellForRowAtIndexPath indexPath: NSIndexPath, object: PFObject?) -> PFTableViewCell {

    var cell = tableView.dequeueReusableCellWithIdentifier("cell") as! PFTableViewCell!
    if cell == nil {
    cell = PFTableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: "cellIdentifier")
    }
    // Extract values from the PFObject to display in the table cell

    if let customerFirstName = object?["customerName"] as? String {
    cell?.textLabel?.text = customerFirstName
    }

    if let customerStreetAddress = object?["customerStreetAddress"] as? String {
    cell?.detailTextLabel?.text = customerStreetAddress
    }

    if let indexPaths = tableView.indexPathsForSelectedRows() {
    for var i = 0; i < indexPaths.count; ++i {

    var thisPath = (indexPaths as! [NSIndexPath])[i]
    var cell = tableView.cellForRowAtIndexPath(thisPath)
    if let cell = cell {

    self.addedPoolarray.append(cell)
    // Do something with the cell
    // If it's a custom cell, downcast to the proper type
    }
    }
    }

    func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if segue.identifier == "toRoutesVc" {
    let destination = segue.destinationViewController as! UITableViewController

    }
    }

最佳答案

删除这些代码:

if let indexPaths = tableView.indexPathsForSelectedRows() {
for var i = 0; i < indexPaths.count; ++i {

var thisPath = (indexPaths as! [NSIndexPath])[i]
var cell = tableView.cellForRowAtIndexPath(thisPath)
if let cell = cell {

self.addedPoolarray.append(cell)
// Do something with the cell
// If it's a custom cell, downcast to the proper type
}
}

这是不正确的。 UITableView 重复使用单元格,这意味着一个单元格将使用不同的 PFObject 和不同的索引路径再次运行。

相反,您可以在 prepareForSegue 方法中将这些选定的单元格填充到另一个 tableview Controller 上:

func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "toRoutesVc" {
let destination = segue.destinationViewController as! RoutesVC

let indexPaths = self.tableView.indexPathsForSelectedRows()

/*
If the first table view controller
and the another table view controller have the same data source,
simply pass the indexPaths
*/
// destination.selectedObjects = indexPaths

/* Or pass the PFObjects: */
var selectedObjects = [PFObject]()
for indexPath in indexPaths {
selectedObjects.append(objects[indexPath.row])
}
destination.selectedObjects = selectedObjects
}
}

您需要创建一个自定义 Controller (UITableViewController 的子类),其中包含从第一个 TableView 接收的数组属性。

class RoutesVC: UITableViewController {

var selectedObjects: [AnyObject]?

...
}

关于ios - 表格 View 帮助…..从一个表格 View 中选择的单元格 swift 传递到另一个表格 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31127759/

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