从Swift转换为Objective-C的工具


76

我知道大多数问题都是关于从Objective-C转换为Swift的,但是我正在寻找一种可以将Swift代码转换为Objective-C的工具。搜索所有内容时,我发现目标是迅速发展。

是的-我知道我可以使用桥头将快速代码放入Objective-C项目中-这不是我想要的。

我需要一个将Swift代码转换为Objective-C代码的工具。有这样的事吗?


10
我强烈建议您反对。ObjC和Swift完全不同。就像用锤子将自行车变成汽车一样。
dasdom 2015年

5
如果有人可以给我一个Obj-c到x语言转换器,生活会容易得多。不需要学习新的语言xd
NSNoob 2015年

6
@NSNoob不是我不需要学习敏捷。这是我需要obj-c代码而不是swift -如前所述,我知道我可以互相使用。但是我没有坐下来几个小时,而是一个人翻译一个人,而是想知道我是否可以避免这种乐趣。
developer82

5
developer82,我今天写了一个Perl脚本,该脚本将Swift转换为ObjC。这样做虽然不完美且不完整,但却避免了很多体力劳动。不幸的是,我从Swift崩溃中收到非常不准确的堆栈跟踪信息,而Obj C崩溃更易于跟踪,因此我很不情愿地转换我的一些代码,以跟踪一些持久且难以捉摸的错误。但是,由于本主题已关闭,因此我无法发布代码。
Casey Perkins

4
我投票决定重新启动此程序,因为它是我目前正在寻找的,对我来说似乎是一个很好的要求。
Jonny

Answers:


37

没有此类工具可将Swift代码转换为Objective-C。有一些原因。一个是因为Objective-C是Swift的语义子集,也就是说,Objective-C与Swift的某些基本功能(例如泛型代数数据类型模式匹配等)没有任何等同之处。从理论上讲是可以做到的,但是生成的Objective-C代码应该是样板且效率低下。

建议将代码库迁移到Swift以避免技术负担,可以使用许多工具将Objective-C转换为Swift


2
可以实施优化器以使其效率降低。就像其他任何编译器一样。
greg.casamento16年

6
没有直接替换(“等价物”)并不意味着它是不可翻译的。例如,由于它的静态特性,在Swift中必须使用泛型。与Objective-C等效的是动态类型化。相反,动态类型真的很难转换成泛型。
阿敏·内格姆·阿瓦德
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.