Xcodeがブリッジヘッダーのインポートに失敗したとのエラーが表示され続けます。私はSwiftヘッダー(ProjectName-swift.h)をインポートする特定のクラスをインポートするときにのみこれが発生することに気付きました。Swiftヘッダーをインポートするブリッジヘッダーにファイルをインポートします。
Swiftヘッダをインポートするクラスをインポートすることはできますか?そうでない場合は、SwiftクラスのSwiftヘッダーをインポートするクラスを使用して、ファイルに必要なSwiftコードを使用できるようにするにはどうすればよいですか?
あなたの答えは、私が見つけたプロトコルに関するビットを除いて100%正確です。これを読んでいる人には、自動生成されたSwiftヘッダーのインポートを.mに動かすことになります。クラスをSwiftプロトコルに準拠させて宣言する必要がある場合は、それをあなたの@interface行に従っているとマークする必要があります。 mファイルも同様です。私はチェックし、これは依然として、conformsToProtocolに対してYESを返し、循環依存性を壊します。正解に導いてくれてありがとう! –
@BillLはい、あなたは、クラスを.mファイルのクラス拡張のプロトコルに従うものとしてマークすることができます。それは間違いなくそれを処理する最良の方法です。特に、クラスがそのプロトコルに準拠していることを他のクラスで知る必要がない場合は、実装の詳細だけです。しかし、プロトコルの前方宣言はObjective-Cヘッダーファイルで頻繁に使用されます。具体的には、クラスにデリゲートとデータソースプロトコルが定義されている場合です。 'UITableView'ヘッダファイルは例えば' UITableViewDataSource'の順方向宣言を持っています。 – Gavin
しかしSwiftで宣言された 'enum'はどうですか? :( – Rich