Использование Swift и Objective-C в одном проекте

И

Совместимость Swift и Objective-C очень высока, так что их совместное использование в одном проекте не требует никаких танцев с бубнами и само по себе очень простое.

Использование кода Objective-C в Swift-файлах

В так называемом «файле моста заголовков» можно импортировать файлы Objective-C. С помощью этого файла Xcode переводит все подписи в Swift и позволяет использовать это все в режиме реального времени, как обычные swift-функции.

Самый простой способ для создания bridging-header file является создание нового класса Objective-C. Если в проекте еще нет bridging-header file, то просто создайте новый файл (File > New File …) и выберите язык Objective-C. Как только файл будет создан, Xcode предложит вам сгенерировать файл моста заголовков.

проекте

Другой же способ — создать его вручную. Создайте любой пустой файл .h, затем перейдите в настройки проекта > Build Settings > Swift Compiler > и в поле Objective-C Bridging Header укажите имя вашего .h-файла.

проекте

После того как файл создан, вы должны скомпилировать проект. Только после этого вы сможете идти дальше, а именно — импортировать Objective-C классы для использования в swift. Для импорта просто добавьте #import «MyObjCClass.h» в файл моста, и после этого сможете использовать его в Swift.

Использование Swift кода в файлах Objective-C

А это еще проще! Для импорта swift-файлов в Objective-C просто в Objective-C напишите #import «<MySwiftModuleName>-Swift.h»
После этого в файле, где произведен данный импорт swift-файлы будут работать так же, как если бы это были objective-c файлы.

Так а зачем же нам использовать оба языка в одном проекте? Если проект только стартует, то в этом нет необходимости. Но вы же наверняка хотите использовать какие то сторонние библиотеки? Если они будут написаны на Objective-C, то без описанных выше действий вам не обойтись.

Поддержите ресурс blog.justDev:

Сведения об авторе

Игорь Малеваный

1 комментарий

Instagram

Поддержите ресурс blog.justDev:

Свежие записи

Рубрики