Замените старую библиотеку Objective- c новой Swift в нескольких приложениях - PullRequest
0 голосов
/ 17 января 2020

У меня есть старая библиотека в объективе C, разработанная несколькими людьми, которые следуют (одна остановка, а следующая продолжение проекта ...). Эта библиотека используется в нескольких приложениях, большинство из которых разработано с целью C. Я хочу добавить новые функции в это приложение, но на самом деле код не подлежит сопровождению (без тестов, без комментариев и т. Д. c ...).

Моя основная идея состояла в том, чтобы перестроить фреймворк или библиотеку в Swift. У меня есть бизнес-требования, но я не удовлетворен целью c.

Будут ли у меня проблемы с совместимостью, если я захочу использовать мою новую библиотеку swift в «старом» приложении цель C, или Это может быть здорово, если я не изменю API?

Может ли это быть прозрачным для клиента, который имеет свое собственное приложение и должен сейчас использовать новую библиотеку?

1 Ответ

2 голосов
/ 17 января 2020

Пока вы сохраняете интерфейс и помечаете все ранее опубликованные c методы / свойства как @objc, не должно быть никаких серьезных изменений в API библиотеки, и, следовательно, все потребители должны иметь возможность продолжать использовать это без каких-либо изменений на их стороне.

Однако, имейте в виду, что необходимость пометить все методы как @objc ограничит вашу возможность использовать полный экстент Swift, так как некоторые функции Swift недоступны в Obj - C и, следовательно, если вы хотите, чтобы ваши типы / функции были доступны в Obj- C, вы не можете использовать такие функции (т.е. вы не можете использовать кортежи в сигнатурах функций или добавлять методы в свои перечисления).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...