0

我是 IOS 开发的新手,而且速度很快,所以我有点困惑。建立在这个问题上

滑动以编辑详细信息 Swift 和 Parse

我有一个可以滑动的表格单元格,当我单击编辑时,我希望它转到另一个页面来编辑详细信息。当我没有 segue 时,它​​会要求一个错误。当我放一个(从原型单元格>编辑页面开始)时,它可以工作,但现在除了滑动之外,当我单击单元格时它会出现在那里。

我只希望它只在滑动时编辑。如何做到这一点?

  • 我是否应该抑制 segue 的默认操作,prepareForSegue以便EditDetails只有在我告诉它时才会触发 segue(如下所示)?

    var editAction = UITableViewRowAction(style: .Default, title: "Edit" , handler: { (action:UITableViewRowAction!, indexPath:NSIndexPath!) -> Void in
    
    dispatch_async(dispatch_get_main_queue()) {
            self.performSegueWithIdentifier("EditDetails", sender: tableView.cellForRowAtIndexPath(indexPath))
        }   
    })
    editAction.backgroundColor = UIColor.greenColor()
    
  • 我是否应该在代码中而不是通过 UI 创建 segue,所以它不会添加任何我不需要的额外操作?

4

1 回答 1

2

ViewController A:你有单元格 ViewController B:你想要呈现的 viewController。

在情节提要上,单击 viewController A,按住 CTRL,然后将蓝线拖到 ViewController B。选择“显示”segue。

在此处输入图像描述

单击segue,并将其命名为“EditDetails”

在此处输入图像描述

现在你已经设置好了segue。在此之后,您应该调用:

self.performSegueWithIdentifier("EditDetails", sender: self)

而不是调用这个

self.performSegueWithIdentifier("EditDetails", sender: tableView.cellForRowAtIndexPath(indexPath))

原因:执行segue的是viewController,而不是tableViewCell。

于 2015-10-08T08:30:35.850 回答