gpt4 book ai didi

swift - 在 Swift 中指定全局范围

转载 作者:可可西里 更新时间:2023-11-01 00:37:04 24 4
gpt4 key购买 nike

你能在 Swift 中指定全局/模块命名空间吗?

这段代码:

func foo(i: Int) { print("global foo", i) }

class Bar {
func foo() { foo(5) }
}

导致错误Argument passed to call that takes no arguments。我在别处看到它说 MyProject.foo(5)Swift.foo(5) 或者 MyModule.foo(5)可能有效,但在 Swift 2.1.1 中它们似乎无效。

编辑:从答案中可以看出,MyProject.foo(5) 对其他人有效。任何人都知道为什么它可能不在我的项目中?

最佳答案

是的,您可以使用您的项目名称,例如“MyProject”,然后您可以这样调用全局函数:

class Bar {
func foo() { MyProject.foo(5) }
}

但我建议将全局函数保留在这样的类中:

class GlobalFunctions {
static func foo(i: Int) { print("global foo", i) }
}

class Bar {
func foo() { GlobalFunctions.foo(5) }
}

这样,您的代码更具可读性。

关于swift - 在 Swift 中指定全局范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34573419/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com