我开始学习Swift,并且一直在YouTube上观看斯坦福大学的精彩视频讲座。如果您有兴趣或有帮助,可以使用以下链接(尽管不需要了解我的问题):
使用Swift开发iOS 8应用-2.更多Xcode和Swift,MVC
在听完讲座后,我发现(据我所知)我的代码与视频中的代码相同,但是在我的系统上,我遇到了编译器错误。经过大量的试验和错误,我设法将代码简化为两个示例,其中一个生成错误,另一个生成或未生成错误,但是我不知道是什么真正导致了错误或如何解决该错误。
产生错误的代码是:
import UIKit
class BugViewController: UIViewController
{
func perform(operation: (Double) -> Double) {
}
func perform(operation: (Double, Double) -> Double) {
}
}
这将产生以下编译器错误:
使用Objective-C选择器的“执行”方法“执行:”与使用相同Objective-C选择器的先前声明冲突
通过简单地删除UIViewController的子类,代码可以编译:
import UIKit
class BugViewController
{
func perform(operation: (Double) -> Double) {
}
func perform(operation: (Double, Double) -> Double) {
}
}
其他一些可能不相关的信息:
- 我最近升级到优胜美地。
- 当我安装Xcode时,最终得到一个Beta版本(版本6.3(6D543q)),因为(如果我没有记错的话)这是我需要在OS X版本上运行的版本。
我半是希望这是编译器中的错误,因为否则对我来说这没有任何意义。任何帮助都非常感谢!