2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

swift⇄objective-cのファイル間での連携

Last updated at Posted at 2019-11-14

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;

#締め
必ずビルトかけてから参照しよう!
漏れがあるかもしれないのでほかあれば教えてください。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?