Type 'AnyObject' no se ajusta al protocolo 'Hashable'

Estoy convirtiendo mi proyecto Objective-C a Swift. Estoy convirtiendo una function donde obtengo el error anterior. Por favor revise los códigos a continuación.

C objective

- (IBAction)accessoryButtonTapped:(id)sender event:(id)event { NSSet *touches = [event allTouches]; UITouch *touch = [touches anyObject]; CGPoint currentTouchPosition = [touch locationInView:self.tableView]; NSIndexPath *indexPath = [self.tableView indexPathForRowAtPoint: currentTouchPosition]; if (indexPath != nil) { [self tableView: self.tableView accessoryButtonTappedForRowWithIndexPath: indexPath]; } } 

Y aquí están los códigos rápidos.

 @IBAction func accessoryButtonTapped(sender: AnyObject, event: AnyObject) { let touches: Set<AnyObject> = event.allTouches()! // I am getting the ERROR here let touch: UITouch = touches.first! let currentTouchPosition: CGPoint = touch.locationInView(self.tableView) let indexPath: NSIndexPath = self.tableView.indexPathForRowAtPoint(currentTouchPosition)! self.tableView(self.tableView, accessoryButtonTappedForRowWithIndexPath: indexPath) } 

¿Alguien puede decirme qué estoy haciendo?

La function allTouches () no devuelve un set de AnyObject. Devuelve un set de objects UITouch. Verifique la documentation. Aquí está el código correcto.

 @IBAction func accessoryButtonTapped(sender: AnyObject, event: AnyObject) { let touches: Set<UITouch> = event.allTouches()! let touch: UITouch = touches.first! let currentTouchPosition: CGPoint = touch.locationInView(self.tableView) let indexPath: NSIndexPath = self.tableView.indexPathForRowAtPoint(currentTouchPosition)! self.tableView(self.tableView, accessoryButtonTappedForRowWithIndexPath: indexPath) }