Ios 关于重用UITouch和UIEvent对象
我试图理解Ios 关于重用UITouch和UIEvent对象,ios,swift,uitouch,uievent,Ios,Swift,Uitouch,Uievent,我试图理解UIEvent,UITouch对象重用,所以我尝试测试,但结果让我感到困惑 这是我的密码 class CustomView: UIView { override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { print("==========================") print("Event Object : \(Unmanaged.p
UIEvent
,UITouch
对象重用,所以我尝试测试,但结果让我感到困惑
这是我的密码
class CustomView: UIView {
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
print("==========================")
print("Event Object : \(Unmanaged.passUnretained(event!).toOpaque())")
for (index, touch) in touches.enumerated() {
print("\(index)'s, UITouch Object : \(Unmanaged.passUnretained(touch).toOpaque())")
}
print("==========================")
}
}
class ViewController: UIViewController {
@IBOutlet weak var skyBlueView: CustomView!
var previousTouch:UITouch?
var currentTouch:UITouch?
override func viewDidLoad() {
super.viewDidLoad()
self.view.isMultipleTouchEnabled = true
}
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
print("==========================")
print("Event Object : \(Unmanaged.passUnretained(event!).toOpaque())")
for (index, touch) in touches.enumerated() {
print("\(index)'s, UITouch Object : \(Unmanaged.passUnretained(touch).toOpaque()) Tap Count: \(touch.tapCount)")
}
print("==========================")
}
}
类自定义视图:UIView{
覆盖func TouchesBegind(Touchs:Set,带有事件:UIEvent?){
打印(“========================================”)
打印(“事件对象:\(Unmanaged.passUnretained(事件!).toOpaque())”)
用于触摸中的(索引,触摸)。枚举(){
打印(\(索引),UITouch对象:\(非托管.passUnrepained(touch.toOpaque()))
}
打印(“========================================”)
}
}
类ViewController:UIViewController{
@IBVAR skyBlueView:CustomView!
var previousTouch:UITouch?
var currentTouch:UITouch?
重写func viewDidLoad(){
super.viewDidLoad()
self.view.isMultipleTouchEnabled=true
}
覆盖func TouchesBegind(Touchs:Set,带有事件:UIEvent?){
打印(“========================================”)
打印(“事件对象:\(Unmanaged.passUnretained(事件!).toOpaque())”)
用于触摸中的(索引,触摸)。枚举(){
打印(“\(索引)”,UITouch对象:\(非托管.passUnrepained(touch.toOpaque())点击计数:\(touch.tapCount)”)
}
打印(“========================================”)
}
}
我希望相同坐标的触摸对象是相同的
但结果并非如此。这是我的结果
这是我的问题