В этой короткой заметке обсудим доступ к классам, объектам и другим объявлениями из кода Objective-C в Swift.
Вы можете использовать файлы Objective-C и Swift вместе в одном проекте, независимо от того, какой язык использовался в проекте изначально.
Это делает создание приложений и фреймворков на смешанных языках таким же простым делом, как и создание приложений или фреймворков, написанных на одном языке.
Процесс использования деклараций Objective-C из кода Swift в смешанных языках немного отличается в зависимости от того, пишете ли вы приложение или фреймворк. Оба процесса описаны ниже.
Чтобы импортировать набор файлов Objective-C в код Swift в рамках одной и той же цели сборки приложения, вы полагаетесь на заголовочный файл Objective-C bridging header, чтобы открыть эти файлы для Swift.
Xcode предлагает создать подобный заголовок, когда вы добавляете файл Swift в существующее приложение Objective-C, либо файл Objective-C в существующее приложение Swift.
Если вы соглашаетесь, Xcode создает файл связующего заголовка вместе с файлом, который вы создавали, и называет его с помощью имени вашего модуля продукта, за которым следует -Bridging-Header.h
.
В качестве альтернативы, вы можете создать заголовок самостоятельно, выбрав File > New > File > [операционная система] > Source > Header File.
Отредактируйте связующий заголовок, чтобы открыть код Objective-C для кода Swift:
Info.plist
. В большинстве случаев вам не потребуется изменять этот параметр.Любые публичные заголовки Objective-C, перечисленные в мостовом заголовке, видны Swift. Декларации Objective-C автоматически доступны из любого файла Swift внутри этой цели сборки, без операторов импорта.
Используйте классы/объекты и другие объявления из вашего пользовательского кода Objective-C с тем же синтаксисом Swift, который вы используете для системных классов.
Чтобы использовать объявления Objective-C в файлах в той же цели фреймворка, что и ваш Swift-код, настройте зонтичный заголовок следующим образом:
Swift видит каждый заголовок, который вы открыто раскрываете в зонтичном заголовке. Содержимое файлов Objective-C в этом фреймворке автоматически доступно из любого файла Swift внутри этого фреймворка, без каких-либо операторов импорта.
Используйте классы и другие объявления из вашего кода Objective-C с тем же синтаксисом Swift, который вы используете для системных классов.
Сегодня мы поговорим о том, как выбрать лучшие курсы Power BI в Украине, особенно для…
В 2023 году во всех крупнейших регионах конкуренция за вакансию выросла на 5–12%. Не исключением…
Unicorn Hunter/Talent Manager Лина Калиш создала бесплатный трекер поиска работы в Notion, систематизирующий все этапы…
Edtech-стартап Mate academy принял решение отправить своих работников в десятидневный отпуск – с 25 декабря…
Служба безопасности Украины задержала в Киеве 46-летнего программиста, который за деньги устанавливал шпионские программы и…
IT-специалист Джордан Катлер создал и выложил на Github подборку разнообразных ресурсов, которые помогут достичь уровня…