Как импортировать существующие классы Objective C в Swift
Я некоторое время возился с Swift в XCode 6.0 DP, чтобы использовать его в моем существующем проекте.
Я пытаюсь получить доступ к MyModel.h(Мой существующий объект Objective C Model) из моего файла ViewController.swift. Я хотел импортировать
#import "MyModel.h"
в мой файл Swift.
Но я не мог найти, как это можно сделать.
Ответы
Ответ 1
Проводка ответа, если он помогает кому-то в решении одной и той же проблемы.
Я обнаружил, что довольно прямое решение для того, как это сделать, дано в iOS Developer Library. Пожалуйста, обратитесь к следующей ссылке:
https://developer.apple.com/library/content/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html#//apple_ref/doc/uid/TP40014216-CH10-XID_75
Apple Doc говорит:
Чтобы импортировать набор файлов Objective-C в том же целевом приложении, что и ваш Swift, вы полагаетесь на заголовок моста Objective-C, чтобы файлов в Swift. Xcode предлагает создать этот файл заголовка, когда вы добавляете Быстрый файл в существующее приложение 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")
FYI всем, кто пытается понять это. Если вам нужно создать файл моста с нуля, вы также должны указать путь к нему в настройках сборки > Swift Compiler > Objective-C Bridging Header.
Ответ 2
В Документ для быстрого программирования. Операция импорта отсутствует.
![enter image description here]()
Ответ 3
Чтобы импортировать в приложение Swift или в приложение Objective C, создающее приложение на смешанном языке, вам нужно создать заголовок моста, который вы можете называть Apple Docs
В нем говорится, что
Objective-C и файлы Swift могут сосуществовать в одном проекте, независимо от того, был ли проект изначально проектом Objective-C или Swift. Вы можете просто добавить файл другого языка непосредственно в существующий проект. Этот естественный рабочий процесс делает создание целевых приложений для приложений и приложений на разных языках столь же простым, как создание приложения или рамки, написанной на одном языке.
Чтобы импортировать набор файлов Objective-C в том же целевом приложении, что и ваш код Swift, вы полагаетесь на заголовок моста Objective-C, чтобы вывести эти файлы в Swift. Xcode предлагает создать этот заголовочный файл при добавлении файла Swift в существующее приложение Objective-C или файл Objective-C в существующее приложение Swift.
EDIT:
Я создал код для вашей помощи, вы можете найти его здесь