0

既存の目的の C プロジェクトで新しい ViewController.swift ファイルを使用しようとしています。

以下は迅速なファイルコードです

import UIKit
class TutorialViewController: UIViewController{
}

以下はObjective Cコードです

#import "TutorialViewController-Swift.h"  //"TutorialViewController-Swift.h" file not found

Swift コードをインポートできません。私はこれのすべてのステップに従った

どこが間違っているのか教えてください。NSObject クラスにのみ適用されますか。

前もって感謝します

4

2 に答える 2

0

ドキュメントに従って、Swift コードを Objective-C にインポートする場合、Xcode で生成されたヘッダー ファイルに依存して、これらのファイルを Objective-C に公開します。この自動生成されたファイルは、ターゲットで Swift インターフェイスを宣言する Objective-C ヘッダーです。これは、Swift コードの包括的なヘッダーと考えることができます。このヘッダーの名前は、製品モジュール名の後に"-Swift.h".

デフォルトでは、生成されたヘッダーには public 修飾子でマークされた Swift 宣言のインターフェースが含まれています。アプリのターゲットに Objective-C ブリッジング ヘッダーがある場合は、 internal 修飾子でマークされたものも含まれます。private 修飾子でマークされた宣言は、生成されたヘッダーには表示されません。@IBActionprivate 宣言は、 、@IBOutlet、またはで明示的にマークされていない限り、Objective-C に公開されません@objc。アプリ ターゲットがテストを有効にしてコンパイルされている場合、ユニット テスト ターゲットは、@testable を製品モジュールのインポート ステートメントの先頭に追加することで、 public 修飾子で宣言されているかのように、 internal 修飾子で任意の宣言にアクセスできます。

生成されたヘッダー ファイルを作成するために特別なことを行う必要はありません。インポートするだけで、Objective-C コードでその内容を使用できます。生成されたヘッダーの Swift インターフェイスには、それらで使用されるすべての Objective-C 型への参照が含まれていることに注意してください。Swift コードで独自の Objective-C 型を使用する場合は、Swift コードにアクセスする目的の Objective-C .m ファイルに Swift で生成されたヘッダーをインポートする前に、それらの型の Objective-C ヘッダーを必ずインポートしてください。

詳細については、こちらの Importing Swift into Objective-C に従ってください

于 2015-12-08T08:59:13.873 に答える