我希望有一种方法可以在每个类中全局导入我的Swift Cocoapods,我怎样才能实现这一目标?
我尝试了很多东西而且没用.以下是一些我没有尝试过的方法,如果找到了解决方法,可能会想到:
有一个像UIKit这样的一般导入语句,并将所有内容放在那里.(编辑:失败了)
不知怎的把Swift框架放在Obj-C briding header中并导入那里的东西.
小智 29
在Swift中强烈反对,因为这会引入模块之间的隐式耦合.
但是,您可以通过typealias在导入其他模块的模块中声明a来使全局某个符号可用:
import ModuleName
public typealias ClassName = ModuleName.ClassName
Run Code Online (Sandbox Code Playgroud)
ace*_*lia 16
从Swift4开始:
我只是通过在我的桥接标题中添加以下行来设法做到这一点:
#import <PodName/PodName-Swift.h>
Run Code Online (Sandbox Code Playgroud)
这种做法有多好/坏?不确定,但我只想在我的项目中全局提供一些扩展.这样做了.
有没有办法做到这一点.这不是一个错误,这是一个语言功能(到目前为止,谈到Swift 2.2).
Swift使用模块(Apple在Xcode 5中为Objective-C引入了它们),每个文件都是语义单元,因此您需要明确告知Xcode哪些模块暴露给定义的文件.
不仅不支持您描述的行为,而且您也不应该试图绕过它.使用不必要的(未使用的)模块理论上可以产生较慢的代码(考虑到编译器将此信息用于其优化过程).
| 归档时间: |
|
| 查看次数: |
14554 次 |
| 最近记录: |