我遇到的问题与测试版6.3中列出的问题相同:Overriding method with selector 'touchesBegan:withEvent:' has incompatible type '(NSSet, UIEvent) -> ()'
但是那里列出的修补程序对我不起作用。我改变了这一行:
override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
到此:
override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) {
我得到的错误是:“方法不会覆盖其超类中的任何方法”
是否有人知道上面列出的6.3 beta版修补程序是否真的与最终版本6.3一起使用?
答案 0 :(得分:2)
正确的答案是 here。保持覆盖并将签名更改为此
override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent)
答案 1 :(得分:2)
所以我找到了自己问题的答案......这是由我在项目中定义的一个名为&#34; Set&#34;的课程引起的。 (这是来自Ray W关于制作糖果美眉游戏的教程)。无论如何,在Swift 1.2中,他们引入了自己的类叫做#34; Set&#34;它导致名称冲突问题。所以我只是重命名了旧的Set类,它开始工作了。 UGH!
答案 2 :(得分:1)
以下是touchesBegan的完整代码,访问UITouch对象时也有变化。
override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) {
super.touchesBegan(touches, withEvent: event);
mouseSwiped = false
let array = Array(touches)
let touch = array[0] as! UITouch
currentLocation = touch.locationInView(imgViewSignature)
currentLocation.y += 0
}
答案 3 :(得分:0)
def store_check_result(client, check, &callback)
@logger.debug("storing check result", :check => check)
@redis.sadd("result:#{client[:name]}", check[:name])
result_key = "#{client[:name]}:#{check[:name]}"
check_truncated = check.merge(:output => check[:output][0..256]) <-- THIS LINE
@redis.set("result:#{result_key}", MultiJson.dump(check_truncated)) do
history_key = "history:#{result_key}"
@redis.rpush(history_key, check[:status]) do
@redis.ltrim(history_key, -21, -1)
callback.call
end
end
end