私のプロジェクトの別個のSwift=ファイルに最も単純なカスタムクラスを作成しました。
class Foo
{
init()
{
println("I made a foo.")
}
}
次に、同じプロジェクト内の遊び場で、私は試しました
var x = Foo()
Xcodeはこれを好まないようで、「Foo」は未解決の識別子であると教えてくれました。私のプロジェクトの他のSwift=ファイルは問題なく 'Foo'を解決できるため、プレイグラウンドがプロジェクト構造の残りの部分にどのように適合するかについて多少混乱しています。
プロジェクト内の他のSwift=ファイルで定義したカスタムクラスをプレイグラウンドで使用できるようにするにはどうすればよいですか?ビルドターゲットの製品モジュールに名前を付けて、プレイグラウンドにインポートしようとしましたが、成功:プレイグラウンドは製品モジュールの名前を認識しません。
助けてくれてありがとう。私はそれが簡単なものであることを知っています。
彼らがすることはできません。遊び場は自己完結型です。これは将来的に変更されることを期待しています。
編集:Xcode 6.3の時点で、プレイグラウンドにサポートコードを含めることができるようになりました。同じプロジェクトの他のコードを見ることができませんが、プレイグラウンド内から使用できるプレイグラウンドのサポートフォルダーにコードを追加できます。詳細については the Swift blog を参照してください。
プレイグラウンドでプロジェクトのコードを使用するには2つの方法があります
プレイグラウンドのソースフォルダー
はい、Xcode 6.3 Beta 3で(そして、できれば将来へ):
プレイグラウンドは、Xcode内で、クリックするとリソースフォルダーとソースフォルダーを表示する開閉用三角形の付いたバンドルとして表示されるようになりました。これらのフォルダーには、プレイグラウンドのメインSwiftコードから簡単にアクセスできる追加コンテンツが含まれています。これらのフォルダーを表示するには、[表示]> [ナビゲーター]> [プロジェクトナビゲーターを表示].
新しいプレイグラウンドを開き、cmd + 1を押して左ペインを表示し、ファイルをsource
フォルダーにドラッグしてプレイグラウンド内で使用します。
注意:
ソースフォルダー内のファイルはフレームワークにコンパイルされます。つまり、プレイグラウンドでクラス、関数などにアクセスできるようにするには、public
として明示的にマークする必要があります。
public class VisibleClass {
}
class InvisibleClass {
}
ソース: ブログをリリース
フレームワークにプロジェクトをコンパイル
@testable import YourFrameworkName
check out にしたい場合は、もう少し詳しく説明します。
はい。 Sourcesディレクトリにクラスファイルを追加することから始めました。すべてを公開しました:
何度も試してみたが、何も機能しなかった。 XCodeがクラッシュし、再び開いた後、すべてが魅力的に機能しました。
Xcode 10のProject Navigatorで:
これで、ソースファイルはplaygroundパッケージで「存続」します。プロジェクトはそれを参照します(ファイルインスペクターで確認できます)。
私はそれを他の方法で試しました:ファイルは、playgroundのSourcesフォルダーを参照するプロジェクトフォルダーにありますが、機能しませんでした。最終的に、ソースコードファイルのコピーが2つになりました。