当编辑发送正确的

时间:2015-07-15 23:58:32

标签: swift uitableview segue swipe tap

当我点击我的tableview上的Cell时,它会发送错误的索引但是当我使用向左滑动时它会发送正确的索引。奇怪的索引点击似乎失败了。抱歉,Var名称意思是“已组装”。

这是代码。

override func tableView(tableView: UITableView, cellForRowAtIndexPath AssIndexPath: NSIndexPath) -> UITableViewCell {
    let assCell = tableView.dequeueReusableCellWithIdentifier(assCellIdentifier, forIndexPath: AssIndexPath) as! AssTableViewCell
    AssItemIndexPath = AssIndexPath.row
    let Ass = assDataArray[AssIndexPath.row]
    assCell.MainLabel.text = Ass.name

    assCell.selectionStyle = .None
 //   assCell.SubLabel2.text = ("Qty In Stock \(Ass.qtyInStock)")
    assCell.SubLabel.text = ("Sell Price $\(Ass.sellPrice)")


    return assCell
}

override func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath AssIndexPath: NSIndexPath)
{
    AssItemIndexPath = AssIndexPath.row
}

override  func tableView(tableView: UITableView, editActionsForRowAtIndexPath AssIndexPath: NSIndexPath) -> [AnyObject]?
{
    var shareAction = UITableViewRowAction(style: .Normal, title: "Report" , handler: { (action:UITableViewRowAction!, AssIndexPath:NSIndexPath!) -> Void in

     AssItemIndexPath = AssIndexPath.row

        self.performSegueWithIdentifier("report", sender: nil)



    })

    shareAction.backgroundColor = UIColor.blueColor()

    return [shareAction]
}

2 个答案:

答案 0 :(得分:0)

通常我在需要所选行的索引时覆盖此方法didSelectRowAtIndexPath,我希望它有所帮助。

请参阅以下链接,了解有关管理选择的说明: https://developer.apple.com/library/ios/documentation/UIKit/Reference/UITableViewDelegate_Protocol/#//apple_ref/occ/intfm/UITableViewDelegate/tableView:didSelectRowAtIndexPath:

答案 1 :(得分:0)

您确定要覆盖正确的功能吗?如果您只想在行选择上发生某些事情,请覆盖此

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
        let index = indexPath.row
        let item = items[index]
        print("\(item.name)")
    }

在你的UITableViewController