понеділок, 9 червня 2014 р.

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

2 июня Apple представила миру новый язык программирования под названием Swift. Подразумевается, что Swift будет постепенно вытеснять Objective-C и C за счет своей удобности, минималистичности и разумности. Но, на мой взгляд, этот процесс если и будет, то сильно затяжной в виду огромной базы разработчиков.

Тем не менее, изучить новый язык будет полезно. И сегодня я покажу Вам как можно мигрировать Swift-классы в уже существующий Objective-C проект и наоборот. Для этого требуется Xcode 6.

Swift merging

Используем Swift-классы в Objective-C проекте

Инструкция очень проста и ожидаема:

  1. Переносим в проект swift-файлы или создаем новый.
  2. Xcode порекомендует добавить хедер для совместного использования разных языков программирования в одном проекте. Соглашаемся и нажимаем «Да».
  3. Добавится bridge-header файл.
  4. Теперь чтобы использовать swift-классы так, как если бы мы использовали Objective-C классы, необходимо в месте использования подключить заголовочный файл в таком формате #import «<#YourProjectName#>-Swift.h». Например, #import «MySwiftClass-Swift.h»

Демо-проект можно скачать отсюда.

 

Используем Objective-C классы в Swift-проекте

Процедура аналогична предыдущей, но с некоторыми ньюансами:

  1. Если bridge-header файла в проекте нет, то сначала переносим m-файл класса в проект.
  2. Xcode порекомендует добавить bridge-header файл. Добавляем.
  3. Теперь можно переносить h-файл того же класса и остальные классы в проект.
  4. В bridge-header файле добавляем импортирование наших заголовочных файлов. Например, #import «MyObjClass.h»
  5. Теперь можем использовать Objective-C классы согласно Swift-интерпретации.

Демо-проект можно скачать отсюда.

Немає коментарів:

Дописати коментар

HyperComments for Blogger

comments powered by HyperComments