【问题标题】:Import my own Swift class into Playground将我自己的 Swift 类导入 Playground
【发布时间】:2014-11-29 08:11:02
【问题描述】:

我看过几个关于这个主题的不同帖子,但似乎没有一个能解决我认为的基本问题。在我的项目中,我有以下内容:

你好 我有一个 Hi Class,其方法如下所示

func sayHi(){
    println("hi")

}

游乐场 我有一个游乐场,我尝试导入我的 Hi Class。

问题:我的 Playground 看不到/导入 Hi 类。我知道我的 Hi 类正在工作,因为我可以毫无问题地从视图控制器调用它。

堆栈/苹果论坛的回复似乎最相关

现在可以将您自己的框架导入 Playground。这提供了一种在应用程序和 Playground 之间共享代码的方法,它们都可以导入您的框架。为此,您的 Playground 必须与生成框架的项目位于同一工作区。您必须已经构建了框架。如果是 iOS 框架,则必须为 64 位运行目标(例如 iPhone 5s)构建。您必须有一个至少构建一个目标的活动方案(该目标的构建位置将用于游乐场的框架搜索路径)。您的“构建位置”首选项(在高级“位置”设置中)不应设置为“旧版”。如果您的框架不是 Swift 框架,则“定义模块”构建设置必须设置为“是”。一旦满足所有这些条件,导入你的框架就可以在操场上工作了

来源:How to I import 3rd party frameworks into Xcode Playground?

谁能指点我一步一步如何做到这一点?

【问题讨论】:

  • 我前段时间也关注过这个问题,找到了答案,让它发挥了作用,并得出结论,这种好处几乎不值得付出努力。有太多的条件需要遵守才能使其正常工作,而操场的工作仍然摇摇欲坠。如果我需要测试我的应用代码是如何工作的,我会使用测试框架,如果我想测试一些想法或概念,我会使用 Playground。
  • 您可能还想查看几天前在 Apple Swift 博客上发布的更新。 developer.apple.com/swift/blog/?id=26

标签: ios swift swift-playground


【解决方案1】:

在 Xcode 7 中,导航器 Cmd1 中有一个 Sources 文件夹,它将在您的 Playground 中本地导入任何 swift 代码。

请注意,您需要在 Sources 中标记类和函数 公开。

【讨论】:

  • 将类和函数标记为公开完美
  • 即使我在“MyPlayground”文件中返回时将我的函数标记为公共的,如图所示,我也无法使用我的函数。我应该在操场上导入 swift 文件吗?
  • 函数所在的文件中是否有任何 Swift 编译器错误?我这么说是因为我刚刚提到了这个问题,并且我的所有功能都被标记为公开。修复文件中的错误后,我可以毫无问题地导入。
  • 另外,我刚刚注意到我的一个变量中的“fileprivate”语句阻止了文件的其余部分被识别。
【解决方案2】:

已经 3 年多了,我真的希望你能够弄清楚这一点。无论如何,这里是任何遇到相同问题的人的答案。

Sources 文件夹中的源代码会自动导入。只需确保您的类和方法标记为public。而且你的班级有公开的init 方法。

请看下面的截图。

【讨论】:

  • 如果我希望能够将同一个模块导入多个游乐场/项目而不将其复制并粘贴到每个源文件夹中怎么办?是否有某个全球位置可以存储我的所有文件?
  • @PeterSchorn 您能找到问题的答案吗?我正在尝试做同样的事情
  • 我发现 Playground 不支持远程包。 Playground 是一个完全独立的文件夹。您最好的选择是创建一个 macOS 命令行项目。
  • @apunn 虽然,我确实创建了一个小应用程序,它将克隆远程存储库并将其移动到游乐场的源文件夹。如果存储库本身有其他依赖项,您也必须手动添加这些依赖项。
猜你喜欢
  • 2014-07-25
  • 2020-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-04
  • 2016-05-15
相关资源
最近更新 更多