游乐场内的班级扩展

Log*_*son 4 swift swift-playground

我的游乐场源文件夹中有一个 UIVIew 子类(它是一个公共类),我试图仅将此类的一部分作为扩展名放入我的主游乐场文件中。

当我在我的操场上声明以下内容时

public extension SortingAlgorithmView {

    public func typeTest() {
        print("dfasfndjasfasfdasfdasf test ")
    }
}
Run Code Online (Sandbox Code Playgroud)

然后在我的子类中我调用 typeTest() 它告诉我没有名为 typeTest 的函数。

Nob*_*ica 5

交互式页面不与源文件一起运行;源文件首先被编译,然后导入到您的游乐场页面中(这就是为什么您需要制作所有内容public)。这使得它们速度更快,因为它们只需编译一次而不是每次都解释,但这也意味着它们无法引用游乐场页面中的代码。

如果您想从源文件访问扩展,则必须将其放入源文件中。源文件无法访问交互式内容。