Swift⇄objective-cのファイル間でのやりとりの方法を稀に忘れてしまうので備忘録としてここに記す。
#objective-cからSwiftを呼び出す方法
Swiftのクラス名に@objcを書きNSobjectを継承させる
@objc class test: NSObject {
func test1() {
print("テスト")
}
}
###呼び出したいメソッドに@objcを書く
@objc class test: NSObject {
@objc func test1() {
print("テスト")
}
}
ちなみにクラスの頭に@objcMembersを書くとクラス全体に対して一括して@objcとして設定することが可能
@objcMembers
class test: NSObject {
func test1() {
print("テスト")
}
}
#Swiftからobjective-cを呼び出す方法
###<プロジェクト名>-Bridging-Header.h
<プロジェクト名>-Bridging-Header.hに呼び出すobjective-cのヘッダーファイルを記載してあげる
#import "ObjcTest.h"
###objective-cの.m実装ファイル側でimportする
#import "名前-swift"
###objective-cのヘッダーファイルに参照するメソッドを書く
- (int)test;
#締め
必ずビルトかけてから参照しよう!
漏れがあるかもしれないのでほかあれば教えてください。