developer tip

Swift에서 기존 Objective C 클래스를 가져 오는 방법

copycodes 2020. 12. 1. 08:22
반응형

Swift에서 기존 Objective C 클래스를 가져 오는 방법


나는 기존 프로젝트에서 사용하기 위해 XCode 6.0 DP에서 한동안 Swift를 사용하고있었습니다. 내 ViewController.swift 파일에서 MyModel.h (기존 Objective C Model 개체)에 액세스하려고합니다. 나는 수입하고 싶었다

#import "MyModel.h"내 Swift 파일에. 그러나 나는 이것이 어떻게 할 수 있는지 찾을 수 없었다.


같은 문제에 직면 한 사람에게 도움이되는 경우 답변을 게시합니다.

이 작업을 수행하는 방법에 대한 매우 간단한 솔루션이 iOS 개발자 라이브러리에 제공된다는 것을 알았습니다. 다음 링크를 참조하십시오 :

https://developer.apple.com/library/content/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html#//apple_ref/doc/uid/TP40014216-CH10-XID_75

Apple Doc 말한다 :

Swift 코드와 동일한 앱 대상에서 Objective-C 파일 세트를 가져 오려면 Objective-C 브리징 헤더를 사용하여 해당 파일을 Swift에 노출합니다. Xcode는 Swift 파일을 기존 Objective-C 앱에 추가하거나 Objective-C 파일을 기존 Swift 앱에 추가 할 때이 헤더 파일을 생성하도록 제안합니다.

그래서 MyApp-Bridging-Header.h파일을 만들고 다음 줄을 추가했습니다.

#import "MyModel.h"

이제 ViewController.swift다음과 같이 모델을 사용할 수 있습니다 .

var myModel = MyModel()
myModel.name = "My name"
myModel.dobString = "11 March,2013"
println ("my model values: Name: \myModel.name and dob: \myModel.dobString")

이것을 알아 내려는 모든 사람에게 참고하십시오. 브리징 파일을 처음부터 만들어야하는 경우 빌드 설정> 스위프트 컴파일러> Objective-C 브리징 헤더에서도 파일 경로를 지정해야합니다.


에서 문서 신속한 프로그래밍 말했다 에는 import 문이 없습니다.

여기에 이미지 설명 입력


Swift 앱 또는 혼합 언어 앱을 만드는 Objective C 앱으로 가져 오려면 브리징 헤더를 만들어야합니다. Apple Docs를 참조 할 수 있습니다.

그것의 말한다

Objective-C 및 Swift 파일은 프로젝트가 원래 Objective-C이든 Swift 프로젝트이든 단일 프로젝트에서 공존 할 수 있습니다. 다른 언어의 파일을 기존 프로젝트에 직접 추가 할 수 있습니다. 이 자연스러운 워크 플로를 통해 단일 언어로 작성된 앱 또는 프레임 워크 대상을 만드는 것처럼 간단하게 혼합 언어 앱 및 프레임 워크 대상을 만들 수 있습니다.

Swift 코드와 동일한 앱 대상에서 Objective-C 파일 세트를 가져 오려면 Objective-C 브리징 헤더를 사용하여 해당 파일을 Swift에 노출합니다. Xcode는 Swift 파일을 기존 Objective-C 앱에 추가하거나 Objective-C 파일을 기존 Swift 앱에 추가 할 때이 헤더 파일을 생성하도록 제안합니다.

편집 : 여기에서 찾을 수있는 도움을위한 코드를 만들었습니다.

참고 URL : https://stackoverflow.com/questions/24034409/how-to-import-existing-objective-c-classes-in-swift

반응형