2017-07-21 11 views
-1

ブランドCの新機能は、一部の再利用可能なファイルをインポート可能なフレームワークに変換するSwiftに取り組んでいます。迅速に、私は主に、フレームワークとしてインポートされたときにアクセスできるように、クラスと他の関数を公開する必要がありました。これは客観的なCでどのように達成されましたか? (&これが完了したときにどのようにブリッジファイルが処理されるのですか)ありがとう!オブジェクトC、パブリック関数とクラス

答えて

1

Objective-Cでは、通常、.hファイルに@interfaceを定義し、その.hファイルにパブリックメソッドとプロパティを含めます。そしてあなたのフレームワークにそれらを公開するには、#includeその傘のヘッダーの.hファイル。または、これをSwiftプロジェクトに含める場合は、その.hファイルをブリッジヘッダーにインポートします。

.mファイル内のプライベートクラス拡張内にプライベートプロパティまたはivarsを定義します。それは、それらが.hファイルに公開されないようにします。

+0

コメントありがとうございます!これは@implementationに対してどのように適用されますか? obj-cファイルをインポートしてブリッジする場合、そのクラスとそのメソッドで定義されているクラスとそのメソッドを迅速にアクセスできますか?それとも何とか公然と宣言する必要がありますか?メソッドはhファイルに公開されているので、フレームワークを使用してプロジェクトにアクセスできるようにする必要があります。 –

+0

フレームワークについてではなく、言語プロジェクトが混在しているだけの場合、.hファイルはObjective-Cコードに対するパブリックインターフェイスとなります。だから、あなたのブリッジヘッダーに '#import'と書いてあり、それらはそのプロジェクトのSwiftコードにさらされます。いくつかの制限があります(例:バリデーショナルメソッドがある場合)が、基本的にどのように機能しますか?詳細については、[同じプロジェクトのSwift and Objective-C](https://developer.apple.com/library/content/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html#//apple_ref/doc/uid)を参照してください。/TP40014216-CH10-ID122)。 – Rob

関連する問題