Swift错误:无法调用';初始';带有类型为';()->;()->$T1和x27;
我正在学习苹果公司的新编程语言Swift。我试图使用Swift扩展将一个新方法Swift错误:无法调用';初始';带有类型为';()->;()->$T1和x27;,swift,Swift,我正在学习苹果公司的新编程语言Swift。我试图使用Swift扩展将一个新方法printAll添加到Array实例中,该扩展调用时将打印数组中的所有元素 extention Array { func printAll() { for (i, value) in enumerate(self) { println("\(i+1). \(value)") } } } // let someAppleProducts = ["
printAll
添加到Array
实例中,该扩展调用时将打印数组中的所有元素
extention Array {
func printAll() {
for (i, value) in enumerate(self) {
println("\(i+1). \(value)")
}
}
}
// let someAppleProducts = ["iPhone", "iPad", "iWatch", "iMac"]
// someAppleProducts.printAll()
但我在使用联机编译器运行上述脚本时遇到以下错误:
有人能解释我为什么会犯这个错误吗
但是,将
times
方法添加到Int
实例中效果很好
extension Int {
func times(task: () -> ()) {
for _ in 0..<self {
task()
}
}
}
3.times({
println("Hello!")
})
您拼错了扩展名
:
extention Array {
应该是
extension Array {
此错误消息具有误导性,我希望它类似于无法识别的标记“extention”
或其他有用的东西 简单打字:extension
-->extension
。我反对将问题作为一个打字问题来结束-是的,它是由一个简单的打字错误引起的,但错误信息并不清楚,OP不是唯一会出现此问题的。我可以看到这个问题在将来帮助用户。我同意@Undo。错误消息具有误导性。请不要对这个问题投反对票,因为这将有助于未来的用户future@Undo:我不同意。这是一个简单的打字错误。编译器指向错误的行。将故障线路与工作示例进行比较,立即显示出差异。另一个用户意外键入扩展名
,收到相同的错误消息,然后找到此问答的可能性有多大?
extention Array {
extension Array {