2017-10-18 11 views
0

私が構築している基本的なチェックリストアプリには少し問題があります。テーブルビューセルの通常のタップにセグのUILongPressRecognizerからセルを特定する

、私はprepare(for segue)を使用して、私のNewTaskViewControllerにセグエ:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 
    if segue.identifier == "AddTask" { 
     let nav = segue.destination as! UINavigationController 
     let newTaskVc = nav.topViewController as! NewTaskViewController 
     newTaskVc.delegate = self 
     newTaskVc.managedContext = managedContext 

私も、私は私のセルに追加UILongPressGestureRecognizerにセグエを実行しています。ロング同じNewTaskViewControllerにセグエべきで押すが、私はUILongPressRecognizerを使用していますように、この時間は、細胞のTaskItemそのtaskToEditプロパティ

} else if segue.identifier == "EditTask" { 
     let nav = segue.destination as! UINavigationController 
     let editTaskVc = nav.topViewController as! NewTaskViewController 
     editTaskVc.delegate = self 
     editTaskVc.managedContext = managedContext 
     editTaskVc.taskToEdit = ? 

への追加、私は、セルのインデックスパスを決定する方法を考え出すのに苦労しています私は正しい項目を通すことができるように長い間押されています。

基本的に、ジェスチャ認識機能からテーブルビューセルを識別するにはどうすればよいですか?

ありがとうございます!

答えて

1

あなたの取り扱い機能の中で、このようなことを試すことができますか?

if longPressGestureRecognizer.state == UIGestureRecognizerState.Began { 
    let touchPoint = longPressGestureRecognizer.locationInView(self.view) 
    if let indexPath = tableView.indexPathForRowAtPoint(touchPoint) { 
     // Your Stuff 
    } 
} 
+0

ありがとうございました!私がここで行ったのは、クラスのストアドプロパティにindexPathを格納し、 'prepareForSegue'でアクセスしたことです! –

関連する問題