11
7

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, Objective-C++のメソッドを呼び出す

Last updated at Posted at 2019-03-23

環境

Xcode 10.1

方法

  1. Objective-Cのファイルを生成する
  2. <プロジェクト名>-Bridging-Header.h ファイルを生成する
  3. ヘッダーファイルを作る
  4. Swiftからメソッドを呼び出す

ソースコード

:warning: 参考にする場合、それぞれ書き換えて下さい :warning:

  1. test-Bridging-Header.h は <プロジェクト名>-Bridging-Header.h
  2. ObjCTest は クラス名
  3. testMethod は メソッド名

test-Bridging-Header.h

test-Bridging-Header.h
#import "ObjCTest.h"

ObjCTest.m(Objctive-C++なら、拡張子を".mm"にする

ObjCTest.m
#import "ObjCTest.h"

@implementation ObjCTest

-(void) testMethod {
    // 処理
    NSLog(@"helloworld");
}

@end

ObjCTest.h(ヘッダファイル)

ObjCTest.h
#import <Foundation/Foundation.h>
// クラス定義
@interface ObjCTest : NSObject
// メソッド定義
-(void) testMethod;

@end

ViewController.swift(呼び出し元のswiftファイル)

ViewController.swift
import UIKit

class ViewController: UIViewController {
    override func viewDidLoad() {
        // メソッド呼び出し
        ObjCTest.init().testMethod()
    }
}
11
7
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
11
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?