UITableViewCells 的手势识别器

Gesture recognizer for UITableViewCells

我有一个表视图,它是使用

从核心数据填充的
if let fetchCell = fetchedResultsController...

我正在尝试将数据从我所有的 tableview 单元格传递到手势识别器的函数,这样当一个单元格被滑过时,识别器将识别它并将变量发送到手势识别器的函数,以便我可以工作和他们在一起。

        var Swipe = UISwipeGestureRecognizer(target: self, action: Selector("swipes:"))
        rightSwipe.direction = .Right
        cell.addGestureRecognizer(Swipe)

以上只是将手势识别器添加到每个单独的单元格。

func swipes(sender:UISwipeGestureRecognizer) {
    println("You just swiped the following: \(correct_string)")
}

以上是滑动单元格时的实际功能。如何获取分配给 if let 中单个单元格的变量以在 swipes 函数

中打印

谢谢。希望我没有误导任何人。

我不会为每个单元格使用单独的手势识别器(除非你小心,否则会导致单元格重用问题),我会按如下方式进行:

  1. 创建单个手势识别器并将其添加到 tableView。
  2. 识别手势后,在您的 swipes 函数中,使用 senderlocationInView(tableView) 来识别滑动发生的点。
  3. 然后使用 tableView indexPathForRowAtPoint 确定发生触摸的单元格的 indexPath
  4. 最后使用fetchedResultsController的objectAtIndexPath函数获取相关NSManagedObject.

(推测correct_stringNSManagedObject的一个属性。)