将“var touch:AnyObject?= touches.anyObject()”转换为 Swift 1.2 [重复]
Posted
技术标签:
【中文标题】将“var touch:AnyObject?= touches.anyObject()”转换为 Swift 1.2 [重复]【英文标题】:Convert "var touch: AnyObject? = touches.anyObject()" to Swift 1.2 [duplicate] 【发布时间】:2015-06-03 02:49:08 【问题描述】:就在最近,Apple 发布了 Swift 和 Xcode 的更新。
我正在使用 Swift
更新前我有这行代码:
var touch: AnyObject? = touches.anyObject()
这行代码在 Swift 1.2 中的确切等价物是什么?
----更新 - 找到解决方案----
真正让我感到困惑的是,我正在查看的所有地方都有一个 if 语句来查找位置。
像这样:
override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent)
if let touch = touches.first as? UITouch
// ...
super.touchesBegan(touches , withEvent:event)
我发现我可以这样做:
var location = CGPoint()
if let touch = touches.first as? UITouch
location = touch.locationInView(self.view)
现在在哪个位置作为 CGPoint 触摸的位置。
【问题讨论】:
要将您的代码迁移到 Swift 1.2,请单击“编辑”菜单,然后选择“转换”>“到 Swift 1.2”。 我确实试过了,但它说没有什么需要修复的;这很奇怪 【参考方案1】:倒是可有可无?如果是试试这个
var touch = touches?.anyObject()
【讨论】:
以上是关于将“var touch:AnyObject?= touches.anyObject()”转换为 Swift 1.2 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
Javascript 将正则表达式 \\n 替换为 \n,将 \\t 替换为 \t,将 \\r 替换为 \r 等等