UITableViewCells的手势识别器

时间:2015-06-29 17:34:13

标签: ios swift uitableview core-data uigesturerecognizer

我有一个使用

从核心数据填充的tableview
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 个答案:

答案 0 :(得分:3)

不是为每个单元使用单独的手势识别器(除非您小心,否则会导致单元重用问题),我将按以下步骤操作:

  1. 创建一个手势识别器并将其添加到tableView。
  2. 识别出手势后,在swipes功能中,使用sender' locationInView(tableView)来识别滑动发生的位置。
  3. 然后使用tableView indexPathForRowAtPoint确定触摸发生的单元格的indexPath
  4. 最后,使用fetchedResultsController的objectAtIndexPath函数获取相关的NSManagedObject
  5. (据推测correct_stringNSManagedObject的属性。)