Swift OS X NSTouch Фаза rawInput в строку?
Не могу распечатать строковое значение фазы касания, пробовал это:
let phase = NSTouch.Phase(rawValue: touch.phase.rawValue)
print(phase)
let touches = event.touches(matching: NSTouch.Phase.ended, in: self.view)
touches.forEach { (touch) in
print(" touch up \(touch.phase)")
}
Выход я получаю это
Phase(rawValue: 8)
﹣ touch up Phase(rawValue: 8)
1 ответ
Не очень хороший способ обойти это:
print("Began", String(describing: NSTouch.Phase.began))
print("Ended", String(describing: NSTouch.Phase.ended))
print("Moved", String(describing: NSTouch.Phase.moved))
print("Stationary", String(describing: NSTouch.Phase.stationary))
print("Touching", String(describing: NSTouch.Phase.touching))
print("Cancelled", String(describing: NSTouch.Phase.cancelled))
Результаты помогли Произошло это:
let phases = [
"1":"Began",
"2":"Moved",
"4":"Stationary",
"7":"Touching",
"8":"Ending",
"16":"Cancelled"
]
let phase = phases["\(touch.phase.rawValue)"]
print(" Finger touch down \(phase)")