答案 0 :(得分:1)
Swift破坏运行时所需的名称以避免命名冲突。可以修剪运行时不需要的名称(取决于您的编译器设置)。
有一些工具可用于解除生成的名称。如需进一步阅读,请参阅: https://mikeash.com/pyblog/friday-qa-2014-08-15-swift-name-mangling.html
FWIW,Objective-C编译器也会破坏名称,但是swift的修改更复杂,允许方法重载等。
答案 1 :(得分:0)
我已经检查了Objective-c和Swift,所有方法和全局变量都非常类似于代码中使用的方法。最好的方法是不要使用明显的方法,或者像我一样编写简单的混淆脚本。事实上@Berik粘贴的文章很有意思。好主意是使用自定义编译器,但它带来了一些更复杂的麻烦。