Mobile-아이폰iOS

Objective-C 프로젝트에서 Swift class의 function 호출하기

무한열정 2019. 9. 5. 14:27


Objective-C 프로젝트에서 Swift class의 function 호출하는 방법입니다.


SwiftClass.swift 파일을 만듭니다.

* 주의사항은 func 에도 @objc를 붙여줘야 합니다.

@objc

class SwiftClass : NSObject

{

    @objc class func run2() {

        print("SWIFT class func => TEST - OK")

    }

    

    @objc public func runPrint() {

        print("SWIFT TEST - OK")

    }

}


Build Settings > All 선택

Defines Module 항목을 "Yes"로 설정한다.


Product Module Name을 설정한다.

기본은 프로젝트명으로 되어 있다.

Swift 클래스를 "프로젝트명-Swift.h"로 임포트하여 사용할수 있다.


사용할 Objective-C 클래스 파일에서 불러다 사용한다.

#import "HelloWorld-Swift.h"


~~~~~~~~ 생략


- (id)init

{

    self = [super init];

    if (self) {


        SwiftClass *swfObj = [[SwiftClass alloc] init];

        [swfObj runPrint];

        [SwiftClass run2];

~~~~~~~~ 생략


Xcode Console에서 결과 확인


잘됩니다. ^^