swift2 – 在Swift中扩展嵌套类型

我有一个主类,还提供一个命名空间:

class A {
}

和通过扩展名添加的嵌套类(全部为了使用单独的文件):

extension A {
  class B {
  }
}

我想通过扩展嵌套类(B)来添加功能;我试过了:

extension A.B {
}

我得到“’B’不是”A“的成员类型。

(我也尝试了一些不那么合理的事情,但我会省略他们,以避免尴尬。阅读Swift文档和谷歌的“快速嵌套类扩展”也没有得到答案。)

任何想法如果和如何可以实现?

更新:

这个代码在单个文件(或游乐场)中的预期工作,感谢user3441734试用了!

当3个部分在单独的文件中时,仍然不起作用,也许是Swift编译器当前实现的一个bug。我会向苹果提交错误报告。

我遇到类似的问题,似乎编译器正在尝试处理在其中定义的那个文件之前扩展嵌套类的文件。所以你有这个错误,说A没有成员B.

我找到的解决方案是去您的目标设置,打开构建阶段。

enter image description here

在“编译源”部分中,您应该将文件放在您将其扩展的文件上面定义的嵌套类。

http://stackoverflow.com/questions/35673290/extension-of-a-nested-type-in-swift

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:swift2 – 在Swift中扩展嵌套类型