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 { } 

来源: 发布博客

编译项目到框架

  1. 将项目移至工作区(如果尚未完成)。 (文件 – >另存为工作区)将做的伎俩
  2. 将框架目标添加到您的项目
  3. 构build框架
  4. 确保你想访问的文件被添加到你的框架目标
  5. 将Playground添加到工作区 (不是项目)
  6. 使用@testable import YourFrameworkName
  7. 访问密码在操场上

我在这里写了一篇文章,如果你想查看一下,那就更详细了 。

是。 我开始只是在Sources目录中添加一个类文件。 我公开了一切:

  • 在里面
  • 会员

经过很多尝试,没有任何工作。 XCode坠毁,重新打开之后,所有的工作都像一个魅力。

在Playground中使用Sources / Dna.swift