Swift 无法在单独的文件中扩展嵌套结构
我有两份档案 母公司。swiftSwift 无法在单独的文件中扩展嵌套结构,swift,Swift,我有两份档案 母公司。swift enum Parent { ... } extension Parent { struct Child { ... } } extension Parent.Child { ... } Child.swift enum Parent { ... } extension Parent { struct Child { ... } } extension Parent.
enum Parent {
...
}
extension Parent {
struct Child {
...
}
}
extension Parent.Child {
...
}
Child.swift
enum Parent {
...
}
extension Parent {
struct Child {
...
}
}
extension Parent.Child {
...
}
现在我可以像这样使用child了
let child = Parent.Child()
但是,我不知道如何在单独的文件中为Child编写扩展名
儿童+分机。swift
enum Parent {
...
}
extension Parent {
struct Child {
...
}
}
extension Parent.Child {
...
}
我得到以下错误
“Child”不是“Parent”的成员类型
对于单独的文件,这可能吗?我知道如果我把parent.swift和child.swift结合起来,它会起作用。感谢Hamish在这里给出的答案 如图所示,这是一个swift编译器错误
解决方法是手动修改“编译源代码”,确保“Child+Extension.swift”在“Child.swift”之后。感谢Hamish的回答 如图所示,这是一个swift编译器错误
解决方法是手动修改“编译源代码”,确保“Child+Extension.swift”在“Child.swift”之后。这是一个臭名昭著的错误:bummer,谢谢链接。我很难提出这个问题的搜索查询正如bug报告评论中所说的,你可以通过在“编译源代码”构建阶段更改文件的顺序来解决这个问题,例如,在“Child.swift”之后加上“Child+Extension.swift”。我将在这里玩一玩这是一个臭名昭著的bug:bummer,谢谢你的链接。我很难提出这个问题的搜索查询,正如bug报告评论中所说,您可以通过在“编译源代码”构建阶段更改文件的顺序来解决这个问题,例如,将“Child+Extension.swift”放在“Child.swift”之后。我将对此进行一些讨论