kitoko552.memo

kitoko552のメモ

SwiftのクラスをObjective-Cで使う

要約

詳細

kitoko552.hatenablog.com

この記事の反対のことをやろうということです。
SwiftのクラスをObjective-Cから使う場合は、そのクラスを使うObjective-Cファイルで${ProductModuleName}-Swift.hをimportします。

#import "${ProductModuleName}-Swift.h"

...

SwiftClass *swiftClass = [SwiftClass new];

ただし、Swiftでは何も継承しないクラスを扱えますが、Objective-Cでは全てのクラスはNSObjectを継承していなければ扱えません。
そのため、Objective-Cから使う場合にはSwiftのクラスでもNSObjectを継承しなければなりません。

class SwiftClass {
  // Objective-Cから使うとコンパイルエラー
}

class SwiftClass: NSObject {
  
}