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

Naf*_*der 3 xcode uitouch ios uievent swift

这之前完美无缺:

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

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

无法调用没有参数的'AnyObject'

我该如何解决?

Air*_*ity 6

在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
    }
}
Run Code Online (Sandbox Code Playgroud)