event.allTouches()?.allObjects.last
event.allTouches()?.allObjects.last
现在 swift 2.0,IOS 8.3 此代码不再有效。
'Set' 没有名为 'allObjects'
的成员
public override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) {
var touch: UITouch = event.allTouches()?.allObjects.last as UITouch!
}
我尝试了很多东西,但似乎没有任何效果,知道吗?
谢谢
我也注意到了。我不确定这是否是这些天原始代码的实际变化……我敢肯定不是。但我只是将该代码更改为:
(touches: NSObject, withEvent event: UIEvent)
抱歉,如果这对您不起作用。它对我来说一直很好用。
Swift 1.2 引入了原生的 Set
类型,但与 NSSet
不同的是它没有 anyObject
方法。你有几个选择。您可以使用 first()
方法,也可以利用桥接 Swift Set 到 NSSet -
的能力
let touch = touches.first() as? UITouch
或
let touchesSet=touches as NSSet
let touch=touchesSet.anyObject() as? UITouch
现在 swift 2.0,IOS 8.3 此代码不再有效。 'Set' 没有名为 'allObjects'
的成员public override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) {
var touch: UITouch = event.allTouches()?.allObjects.last as UITouch!
}
我尝试了很多东西,但似乎没有任何效果,知道吗?
谢谢
我也注意到了。我不确定这是否是这些天原始代码的实际变化……我敢肯定不是。但我只是将该代码更改为:
(touches: NSObject, withEvent event: UIEvent)
抱歉,如果这对您不起作用。它对我来说一直很好用。
Swift 1.2 引入了原生的 Set
类型,但与 NSSet
不同的是它没有 anyObject
方法。你有几个选择。您可以使用 first()
方法,也可以利用桥接 Swift Set 到 NSSet -
let touch = touches.first() as? UITouch
或
let touchesSet=touches as NSSet
let touch=touchesSet.anyObject() as? UITouch