SwiftとObjective Cをうまく組み合わせていますが、Objective CのHEADERファイルからSwiftクラスへのアクセスに問題があります.mファイルで正常に実行できます。Objective CヘッダーのSwiftクラスへのアクセス
.hファイル内で、 "Appname-Swift.h"という形式のXcode生成ファイルをインポートします。しかし、そうすることで、ファイルが見つからないというメッセージが表示されます。 .mファイルでこの同じインポートを問題なく行うことができます。ただし、公開APIを使用してアクセスする必要があるSwiftクラスを参照すると、.hファイルにそのファイルが必要です。
Objective Cの.h部分からSwiftクラスを使用するにはどうすればよいですか?
例:上記
#import <UIKit/UIKit.h>
#import "MyApp-Swift.h"
@interface SelectedContactsVC : UIViewController
@property (nonatomic,strong) MapVC *mapVC;
@end
MapVCはスイフトクラスです。
ありがとうございました。このように "@class"を前方宣言のように追加していますか? – C6Silver
はい、シンボルは実際にはクラスであるが、他の情報は与えないことをコンパイラーに教えています。ほとんどの場合、相互依存関係を回避するのに十分役立ちます。 – OOPer
恐ろしい!まさに私が探していたものです。ありがとう! – CalZone