下面的代码给出了一个错误,因为它试图调用类的方法而不是全局函数:
func a(i: Int) -> Int {
return i + 10
}
class B {
func a(s: String) -> String {
return s + "bbb"
}
func b() {
print(a(100))
// Error (Cannot convert value of type 'Int' to expected argument type 'String')
}
}
Run Code Online (Sandbox Code Playgroud)
我的建议是将你的全局函数保存在这样的类中:
class Global {
static func a(i: Int) -> Int {
return i + 10
}
}
class B {
func a(s: String) -> String {
return s + "bbb"
}
func b() {
print(Global.a(100))
}
}
Run Code Online (Sandbox Code Playgroud)
这样,您的代码更具可读性,并且不会让编译器感到困惑.
是的,有.例如,如果您的应用名称是"myApp",那么您可以调用全局函数,该函数的名称和参数数量与您的类名称相同B,如下所示:
func b()
{
print(myApp.a(100))
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
936 次 |
| 最近记录: |