滑动以编辑细节Swift和分析
在使用RowActionbutton时,我无法将数据传递到新的视图控制器来编辑字段。
我可以通过下面的代码得到RowActionbutton去新的视图控制器:
override func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [AnyObject]? { var editAction = UITableViewRowAction(style: UITableViewRowActionStyle.Default, title: " Edit " , handler: { (action:UITableViewRowAction!, indexPath:NSIndexPath!) -> Void in dispatch_async(dispatch_get_main_queue()) { self.performSegueWithIdentifier("EditDetails", sender: self) } }) return [editAction] }
我可以使用下面的代码使用正常的segue来传递数据:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { if (segue.identifier == "EditDetails") { [segue destinationViewController]. var editView = segue.destinationViewController as! EditDetailsTableViewController if let indexPath = self.tableView.indexPathForSelectedRow() { let row = Int(indexPath.row) editView.currentObject = objects[row] as? PFObject } } }
但是,我似乎无法同时做到这一点。 我想要一个用户能够点击编辑button和这些领域的细节填充,他们可以编辑它们。
join提出的解决scheme…但是,仍然没有通过。
var editAction = UITableViewRowAction(style: UITableViewRowActionStyle.Default, title: " Edit " , handler: { (action:UITableViewRowAction!, indexPath:NSIndexPath!) -> Void in let objectToEdit = self.objects[indexPath.row] as! PFObject self.performSegueWithIdentifier("EditDetails", sender: objectToEdit)
你只是试图从该行中的某个对象,如一个textField传递值? 你可以保存当前的indexPath,并直接抓住它们,如果有一些你需要的textField值,或者作为发送者传递行
self.performSegueWithIdentifier("EditDetails", sender: cell) // get the cell from the indexPath or just pass the indexPath
那么你可以在prepareForSegue中使用它
我只是有同样的问题。 检查线程。 底部是我自己的答案。
表行操作使用indexPath行继续
只需发送indexPath,然后在prepareForSegue中使用它来使其工作。