event.touchesForView()。AnyObject()在Xcode 6.3中不起作用

这之前完美无缺:

func doSomethingOnDrag(sender: UIButton, event: UIEvent) { let touch = event.touchesForView(sender).AnyObject() as UITouch let location = touch.locationInView(sender) } 

但在Xcode 6.3中,我现在得到错误:

不能在没有参数的情况下调用’AnyObject’

我该如何解决?

在1.2中, touchesForView现在返回本机Swift Set而不是NSSet ,而Set没有anyObject()方法。

它确实有first一种方法,这是一回事。 另外请注意,您将无法使用as? 更多,你必须使用as? 处理零可能性,这是一种方法:

 func doSomethingOnDrag(sender: UIButton, event: UIEvent) { if let touch = event.touchesForView(sender)?.first as? UITouch, location = touch.locationInView(sender) { // use location } } 
 func doSomethingOnDrag(sender: UIButton, event: UIEvent) { let buttonView = sender as! UIView; let touches : Set = event.touchesForView(buttonView)! let touch = touches.first! let location = touch.locationInView(buttonView) }