【问题标题】:Swipe To Edit Details Swift and Parse滑动以编辑详细信息 Swift 和 Parse
【发布时间】:2015-04-15 20:05:35
【问题描述】:

在使用 RowAction 按钮时,我无法将数据传递到新的视图控制器以编辑字段。

我可以通过下面的代码让 RowAction 按钮转到新的视图控制器:

 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
        }

    }
}

但是,我似乎不能同时做这两件事。我希望用户能够单击“编辑”按钮并填充这些字段的详细信息,并且他们可以对其进行编辑。

添加建议的解决方案...但是,仍然没有通过。

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)

【问题讨论】:

    标签: ios swift parse-platform


    【解决方案1】:

    您是否只是想从该行中的某个对象(例如 textField)传递值?如果您需要一些 textField 值,您可以保存当前 indexPath 并直接获取它们,或者将行作为发件人传递

    self.performSegueWithIdentifier("EditDetails", sender: cell) // get the cell from the indexPath or just pass the indexPath 
    

    然后你可以在 prepareForSegue 中使用它

    【讨论】:

    • 我在上面尝试了您的解决方案,但是,我仍然没有通过。我在底部的原始问题中添加了尝试您的解决方案的代码。
    【解决方案2】:

    我也遇到了同样的问题。检查线程。底部是我自己的答案。

    Table row action to segue with indexPath row

    只需发送 indexPath,然后在 prepareForSegue 中使用它即可使其工作。

    【讨论】:

    • 请不要只发布对其他 Stack Overflow 问题的链接答案。相反,请投票/标记以将此问题作为重复问题结束,或者,如果不是重复问题,请调整您对此特定问题的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多