web-dev-qa-db-ja.com

Swift-私のインポートSwiftクラス

この質問は何度も聞かれますが、私の問題に対する適切な解決策が見つかりません。 Player.SwiftクラスをMainScene.Swiftにインポートしようとしています(Cocos2D-SpriteBuilderを使用してプロジェクトをセットアップしました。現在はXcodeを使用しています)。

これは私のフォルダ構造です:

enter image description here

import Player;import Player.Swift;を使用しようとしましたが、試したときにこのエラーが発生しました:そのようなモジュール 'Player.Swift'

正しくインポートするにはどうすればよいですか?

ありがとう!

ちなみに、私はスウィフトの初心者なので、すべての用語を知っていると期待しないでください

21
M Zeinstra

ファイルをSwiftに明示的にインポートする必要はありません。プロジェクトでグローバルに使用できるためです。Player classのメソッドまたはプロパティにアクセスする場合は、オブジェクトを直接作成できます。 MainScene.Swiftファイル内のPlayerクラスのファイルであり、アクセスできます。e.g var objPlayer = Player()

42

インポートする必要はありませんSwift他のクラスで使用するクラスSwift。それらは自動的に使用できます。

Swiftでは、以下のUIKitやMapKitなどのフレームワークのみインポートできます。インポートはできませんSwiftクラス。

import UIKit
import MapKit

使用しようとしているターゲットで使用するように選択されていることを確認してください。

詳細については、以下の画像を確認してください。

この画像では、HomeViewController.SwiftAutolayoutDemoモジュールで使用するために選択されています。 enter image description here

下の画像では、クラスDetailsViewController.SwiftAutolayoutDemoモジュールのチェックを外しています。 enter image description here

そのため、今後DetailsViewControllerコンパイラを使用しようとすると、HomeViewControllerに次の画像のようなエラーが表示されます。 enter image description here

25

Swift importsになると、2つのケースがあります:

1)インポートするタイプはモジュール内にあります

この場合、importステートメントは必要ありません。タイプがprivateまたはfileprivateでない限り、直接アクセスできます。

2)インポートするタイプはモジュールの外部にあります

以下を使用してモジュール全体をインポートできます。

import ModuleName

モジュールから特定のタイプまたは関数のみをインポートする場合は、次の形式を使用してこれを実行できます。

import kindOfThing ModuleName.Type

kindOfThingはclass/struct/func/etc ...

これについては、NSHipster here でさらに詳しく調べることができます。

3
Nick Fox

クラスが右側のペインでiOSターゲットに追加されているかどうかを確認します。

1
Nitish Sharma