Інструмент для перетворення з Swift на цель-c [закрито]


76

Я знаю, що більшість питань стосуються перетворення з object-c на швидкий, але я шукаю інструмент, який може перетворити швидкий код в target-c. Під час пошуку все, що я знаходжу, - об'єкт-c до швидкого.

Так - я знаю, що можу вкласти швидкий код у проект object-c за допомогою заголовка моста - це не те, що я шукаю.

Мені потрібен інструмент, який перетворює швидкий код у код об’єктив-с. Чи є така річ?


10
Я настійно рекомендую проти цього. ObjC і Swift абсолютно різні. Це як перетворення велосипеда на автомобіль з молотка.
дасдом

5
Життя було б набагато простішим, якби хтось міг дати мені конвертер Obj-c в x-мову. Не було б необхідності вивчати нові мови xd
NSNoob

6
@NSNoob не те, що мені не потрібно швидко вчитися. Це те, що мені потрібен код obj-c замість швидкого - як уже згадувалося, я знаю, що можу використовувати один в іншому. Але замість того, щоб сидіти годинами і перекладати одне на інше, мені було цікаво, чи я можу якось уникнути задоволення.
developer82

5
developer82, я сьогодні написав сценарій Perl, який "перекладає" Свіфта на Obj C. Він робить це недосконало і неповно, але уникає більшої частини ручної праці. На жаль, я отримую дуже неточні стеки від аварій Swift, тоді як збої Obj C більш простежувані, тому я неохоче перетворюю частину свого коду, щоб відстежити деякі постійні та невловимі помилки. Але оскільки ця тема закрита, я не можу поштовий індекс.
Кейсі Перкінс

4
Я проголосував за те, щоб відкрити це знову, оскільки зараз це те, що я шукаю, і це видається мені цілком чудовим запитом.
Джонні,

Відповіді:


37

Немає таких інструментів для перетворення коду Swift в Objective-C. Є кілька причин. Одна з них полягає в тому, що Objective-C є семантичною підмножиною Swift, тобто Objective-C не має жодних еквівалентів деяких фундаментальних особливостей Swift, таких як Generics , алгебраїчні типи даних , узгодження шаблонів та інші. Теоретично це можливо зробити, але згенерований код Objective-C повинен бути зразковим та неефективним.

Рекомендується перенести вашу кодову базу в Swift, щоб уникнути технічної заборгованості. Існує багато інструментів, які можна використовувати для перетворення Objective-C в Swift .


2
Можна зробити оптимізатор, щоб зробити його менш неефективним. Як і будь-який інший компілятор.
greg.casamento

6
Те, що відсутні прямі заміни ("еквіваленти"), не означає, що воно не є неперекладним. Наприклад, дженерики необхідні Swift через його статичну природу. Еквівалентом Objective-C є динамічне введення тексту. Все навпаки: динамічне введення тексту насправді важко перетворити на загальне.
Амін Негм-Авад
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.