ios - 试图升级到 Swift 1.2 时出现令人困惑的编译错误

标签 ios xcode macos swift

我已经能够毫无问题地为 XCode 6.3 和 Swift 1.2 更新我的代码,直到我尝试从 UIHandler 修复我被覆盖的触摸输入功能。我将所有四个触摸功能的签名更新为以下内容:

override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) {
    super.touchesBegan(touches, withEvent: event)
    ...
}

override func touchesMoved(touches: Set<NSObject>, withEvent event: UIEvent) {
    super.touchesMoved(touches, withEvent: event)
    ...
}
override func touchesEnded(touches: Set<NSObject>, withEvent event: UIEvent) {
    ...
}
override func touchesCancelled(touches: Set<NSObject>!, withEvent event: UIEvent) {
    ...
}

XCode 的自动完成实际上会在我编写这些方法/签名时提示它们,所以我知道 XCode 可以识别 Swift 1.2。但是,当我清理和构建时,我得到所有四个函数的“方法没有覆盖其父类(super class)中的任何方法”,以及在调用这些函数的“ super ”版本时出现类似的错误。

我在项目/build设置中没有发现任何突出的内容,我尝试清除 DerivedData 文件夹并重新启动我的计算机,但我仍然遇到这些错误。

最佳答案

所以我遇到了与您完全相同的错误消息,这让我发疯。我终于弄清楚了问题出在哪里……如果您按照我在网上执行的相同教程进行操作,那么您可能也会遇到这种情况。

原来我有一个名为 Set.swift 的 swift 文件...它定义了一个名为 Set 的类。

但是现在在 Swift 1.2 中,他们引入了自己的类 Set,所以我的类在我使用 Set<> 的任何地方都会引起冲突和这些错误(主要是在 touchesXXX 部分,但代码中还有一个地方我使用 Set,这就是我的线索)。所以我只是进入 Set.swift,并将类重命名为其他名称,然后一切都开始正确编译。

希望对您有所帮助!

关于ios - 试图升级到 Swift 1.2 时出现令人困惑的编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29567459/

相关文章:

compiler-construction - 如何在 Mac OS X 10.6.3 上编译 Open CL?

objective-c - 每次对话框中发生任何更改时,界面生成器 NSStaticText 值都需要更新

python - 什么会导致 Tkinter/Python 中打开的文件对话框窗口在用户选择文件后关闭得非常慢?

ios - 简单地调用 UITextView `sizeThatFits:` 会导致滚动/输入行为出现故障吗?

ios - 计算双返回科学记数法

ios - 在前台的特定 View Controller 中禁用推送通知?

iphone - 将 CGImage 绘制到位图上下文中,并预先将 UIBezierPath 绘制到上下文中

iphone - UIWebView 和导航 Controller

ios - 用户按下了 UIAlertView 上的哪个按钮?

iphone - MFMailComposer - 在邮件正文中嵌入可点击的链接?