Swift游乐场可以在同一个项目中看到其他源文件吗?
我在我的项目中的一个单独的Swift文件中创build了最简单的自定义类:
class Foo { init() { println("I made a foo.") } }
然后,在同一个项目的一个操场上,我试了一下
var x = Foo()
Xcode似乎不喜欢这个,并告诉我'Foo'是一个未解决的标识符。 我对操场如何适应项目结构的其余部分有些困惑,因为我项目中的其他Swift文件可以毫无问题地解决“Foo”问题。
我如何使我的游乐场能够使用我在我的项目中的其他Swift文件中定义的自定义类? 我已经尝试为构build目标命名产品模块并将其导入到操场中,但没有成功:操场无法识别产品模块的名称。
预先感谢您的帮助。 我知道这很简单。
他们不可以。 游乐场是独立的。 这将有望在未来改变。
编辑:从Xcode 6.3开始,Playgrounds现在可以包含支持代码。 他们仍然无法在同一个项目中看到其他代码,但是可以将代码添加到Playground的支持文件夹中,该文件夹可以在游乐场内使用。 请参阅Swift博客了解更多信息。
在Playground中使用项目代码有两种方法
游乐场的来源文件夹
是的,在Xcode 6.3 Beta 3(希望未来):
游戏场现在在Xcode中被表示为一个显示三angular形的包,点击时显示资源和来源文件夹。 这些文件夹包含可以从您的游乐场的主要Swift代码轻松访问的其他内容。 要查看这些文件夹,请select“视图”>“导航器”>“显示项目导航器”(或者只需点击Command-1)。
打开一个新的游乐场,点击cmd + 1查看左窗格,然后将文件拖到source
文件夹中以在游乐场内使用。
注意:
源文件夹中的文件被编译为一个框架,这意味着如果你想要在操场上访问类,函数等等,它们必须明确标记为public
。
public class VisibleClass { } class InvisibleClass { }
来源: 发布博客
编译项目到框架
- 将项目移至工作区(如果尚未完成)。 (文件 – >另存为工作区)将做的伎俩
- 将框架目标添加到您的项目
- 构build框架
- 确保你想访问的文件被添加到你的框架目标
- 将Playground添加到工作区 (不是项目)
- 使用
@testable import YourFrameworkName
- 访问密码在操场上
我在这里写了一篇文章,如果你想查看一下,那就更详细了 。
是。 我开始只是在Sources目录中添加一个类文件。 我公开了一切:
- 类
- 在里面
- 会员
经过很多尝试,没有任何工作。 XCode坠毁,重新打开之后,所有的工作都像一个魅力。