[ios] 如何从自己的项目导入自己的类到游乐场


2 Answers

我实际上设法通过这样做来引用当前项目中的其他Swift文件:

  • 创建一个空的游乐场,并放置在您的项目下的某个地方。
  • YourPlayground.playground打开YourPlayground.playground包(是的,它是一个bundle =目录)。
  • 例如用vi编辑contents.xcplayground并添加另一个像这样的部分:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<playground version='3.0' sdk='iphonesimulator'> 
   <sections>
       <code source-file-name='section-1.swift'/>
       <code source-file-name='section-2.swift'/>
   </sections>
   <timeline fileName='timeline.xctimeline'/>
</playground>
  • section-1.swift重命名为section-2.swift (如果您从头创建了Playground,则应该有一个示例section-1.swift在您的包中)
  • 添加一个名为section-1.swift硬链接 (符号链接似乎不起作用),它将指向bundle之外的Swift类文件,如:
ln ../../Classes/MyView.swift section-1.swift
  • 关闭Xcode并再次打开Playground。
  • 现在应该有两个部分,一个是你的Swift类文件的内容,另一个是你从头开始创建Playground的示例内容。

这样我实际上可以运行在Playground之外的代码,但是当像这样做时,Xcode似乎更频繁地崩溃。

编辑:

从Xcode 6 beta 5开始,您现在可以参考项目文件,正如Rick Ballard在他的answer指示的那样。

Question

假设这样的设置:

  • 你有一个Xcode 6项目,你已经实现了你自己的类(比如说MyView和MyViewController),Objective-C和Swift
  • 您已将项目添加到您的项目中

在Playground中,可以使用import关键字import UIKit等模块(框架)。 你如何从Playground访问项目的其他课程?

试图直接访问项目类会导致错误消息: 使用未解析的标识符'MyView'




所有你需要做的 - 写在开头:

import ModuleName

(假设您的操场与框架/项目放置在同一个工作区中)

如果它不起作用:

  1. 重建你的项目

  2. 重新创建游乐场,并从那里的旧操场复制

它解决了许多初始化失败并导入任何错误的奇怪错误




我无法使用任何答案在这里工作,所以我开始四处游玩,找到了一种简单的方法,可以帮助我将一个快捷类导入游乐场。

只需在你的项目中创建一个操场,在里面有一个名为'sources'的目录,只需将一个swift类的副本拖到该文件夹​​中,然后操场就可以访问它。

例如:






Related