gpt4 book ai didi

Swift:想要对现有功能使用扩展

转载 作者:行者123 更新时间:2023-11-28 08:27:46 25 4
gpt4 key购买 nike

我定义了一个函数:

func inSubfolder_(file : String, root : String) -> Bool { ... }

我还想将其作为扩展添加到 String 中:

extension String {
func inSubfolder(root : String) -> Bool {
return inSubfolder_(file : self, root : root)
}
}

我喜欢使用相同的名称(不带“_”),但是需要将全局名称声明为“全局”,这样扩展名称就不会尝试访问自身(递归)。我错过了什么?

最佳答案

您可以通过使用模块名称为调用命名空间来在全局范围内显式调用函数。在大多数情况下,这将是您应用的目标名称。如果这是在 playground 的上下文中,您将使用 Playground 而不是模块名称。

func inSubfolder(file : String, root : String) -> Bool { ... }

extension String {
func inSubfolder(root : String) -> Bool {
return AppTargetName.inSubfolder(file : self, root : root)
}
}

关于Swift:想要对现有功能使用扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39571468/

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