-6

这段代码是用 Xcode 7.3 编写的。我不知道为什么我会收到这个错误。在 swift 1.0 中它运行良好。但在 swift 2.2 中并非如此。

图像描述

4

2 回答 2

3

来自 Swift 2.x 文档:

方法的本地和外部参数名称

函数参数可以同时具有本地名称(用于函数体中)和外部名称(用于调用函数时),如指定外部参数名称中所述。方法参数也是如此,因为方法只是与类型关联的函数。

...

Swift 默认为方法中的第一个参数名称提供本地参数名称,并默认为第二个和后续参数名称提供本地和外部参数名称。此约定与您在编写 Objective-C 方法时熟悉的典型命名和调用约定相匹配,并且无需限定参数名称即可进行富有表现力的方法调用。


要完全匹配屏幕截图中的 Swift 1.0 语法,您必须编写

func isDivisible(divided divided: Int, divisor: Int) -> Bool {}

顺便说一句:if divided % divisor不编译,您可以将整个函数体替换为

return divided % divisor == 0
于 2016-04-07T11:45:16.930 回答
0

以下应该按预期工作:

func isDivisible(divided: Int, divisor: Int) -> Bool {
    if divided % divisor == 0 {
        return true
    }
    else {
        return false
    }
}
于 2016-04-07T11:38:22.630 回答