我的iOS应用使用AVPlayer
播放声音。要做到这一点,我必须在类的顶部键入以下内容:
import AVFoundation
我来自Objective-C背景,所以我去了Xcode项目的 General 标签,并通过点击 Linked框架和库下的加号按钮添加了AVFoundation
EM>。黄色工具箱出现在我的项目中。我必须这样做吗?
我试图将它从项目中移除 - 无论是从侧边栏还是在Xcode首选项中,我的应用程序仍然可以正常播放。 import
处理一切事情也是如此吗?
答案 0 :(得分:8)
是的,Swift中的import
与Objective-C中的@import
基本相同(而不是#import <…>
),导入模块。
最近推出了这个新功能(模块)(1 - 2年前?),确实为您导入框架,而无需将应用程序与其明确链接:使用模块时({在ObjC中{1}},在Swift中@import
,编译器将看到模块名称,并为您隐式和自动地将您的应用程序与框架链接。
这是我们在import
是唯一选项的日子里没有的新功能,我们必须自己手动添加系统框架。
(请注意,在iOS8到来之前,模块仅适用于Apple的框架。但是现在您可以在构建iOS8时构建自己的动态框架,它们也可用于第三方框架,只要它们可用有一个#import
)
如果您有兴趣,可以阅读更多in the Clang documentation itself。各种博客文章也谈论了这个主题(例如,第一个Google结果是this blog post)