2014-10-16 25 views
10

我在斯威夫特应用程序中使用第三方斯威夫特框架非常频繁,想用它,而无需在每一个斯威夫特文件一遍又一遍写import ModuleName隐式导入特定斯威夫特模块

是否有指定默认的进口喜欢使用.pch文件在Objective-C是可能的一种方式?

我已经选中的Xcode构建设置和swiftc标志,但他们没有提供这个功能。

回答

32

其实有一个很简单的解决方法我能想到前面...

只需添加以下到您的应用项目的Objective-C的桥接报:

@import ModuleName; 

斯威夫特将它捡起来呢!在您打算使用该模块的每个Swift文件中不需要import ModuleName

+0

工程就像一个魅力。谢谢!如果正在创建的目标是依赖于其他模块衔接头迅捷的框架是不允许的 – 2015-03-27 12:38:05

+1

将无法​​正常工作。对于框架,似乎没有任何功能或解决方法来实现相同的结果。但我习惯了:) – 2016-02-19 12:02:55

+3

@MaxMacLeod没错这只适用于应用程序的目标 – fluidsonic 2016-02-19 13:42:49

3

不,没有Swift模拟Objective-C .pch文件。

人们可以通过创建一个伞目标框架,包括一些其他模块的表面上降低进口语句的数量,但有没有办法避免依赖模块的明确进口顾左右而言他。

+2

感谢您的回答mattt。我想你是正确的,在Swift中没有标准的方法来做到这一点。但是我发现了一种通过在ObjC的桥接头中使用'@ import'实现相同结果的方法! – fluidsonic 2014-10-17 13:52:34

+0

SWIFT已'.swiftmodule'档案是可导入的,当一个提供其目录名作为FO swiftc'的''的参数-I'的值。 [SWM(Swift模块)](http://github.com/jankuca/swm)可以帮助你很多。 – 2014-12-13 11:10:47