我在项目的单独Swift文件中创建了最简单的自定义类:
class Foo
{
init()
{
println("I made a foo.")
}
}
然后,在同一个项目的一个操场上,我试过
var x = Foo()
Xcode似乎不喜欢这样,并告诉我'Foo'是一个未解析的标识符。我对操场如何适应项目结构的其余部分感到困惑,因为我的项目中的任何其他Swift文件都可以解决'Foo'问题。
如何让我的游乐场能够使用我在项目中的其他Swift文件中定义的自定义类?我已经尝试为构建目标命名产品模块并将其导入到操场中,但没有成功:操场无法识别产品模块的名称。
提前感谢您的帮助。我知道这很简单。
答案 0 :(得分:28)
在Playground中使用项目代码的两种方法
游乐场的资源文件夹
是的,在Xcode 6.3 Beta 3中(希望未来):
Playgrounds现在在Xcode中表示为一个包含公开三角形的包,单击时显示Resources和Sources文件夹。这些文件夹包含可从操场的主Swift代码轻松访问的其他内容。要查看这些文件夹,请选择查看>导航器>显示Project Navigator(或只需按Command-1)。
打开一个新的游乐场并点击cmd + 1查看左侧窗格,然后将文件拖到source
文件夹中以在操场内使用。
注意:
源文件夹中的文件被编译为框架,这意味着如果您希望在操场中访问类,函数等,则必须将它们明确标记为public
。
public class VisibleClass {
}
class InvisibleClass {
}
来源:release blog
将项目编译为框架
@testable import YourFrameworkName
如果你想要check it out,我在这里写了一篇更详细的内容。
答案 1 :(得分:27)
他们不能。游乐场是独立的。这有望在未来发生变化。
编辑:从Xcode 6.3开始,Playgrounds现在可以包含支持代码。他们仍然无法在同一个项目中看到其他代码,但可以将代码添加到Playground的支持文件夹中,该文件夹可以在操场内使用。有关详细信息,请参阅the Swift blog。
答案 2 :(得分:4)
是。 我首先在Sources目录中添加一个类文件。 我公开了一切:
经过多次尝试,没有任何效果。 XCode崩溃了,重新打开之后,它们都像魅力一样。
答案 3 :(得分:0)
在Xcode 10的Project Navigator中:
现在,源文件“存在于”游乐场包中;项目引用了它(您可以使用文件检查器进行验证)。
我尝试了另一种方法:文件位于Playground的Sources文件夹中的引用文件夹中的项目文件夹中,但是它不起作用;我最终得到了源代码文件的两个副本。