Совместимость 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, то без описанных выше действий вам не обойтись.
а что на счет .m файлов?