LLVM 提供了模块化引入文件的方案,于是我们知道一下两种方式均可以导入Mapkit的文件:
@import MapKit.MKAnnotation;
#import <MapKit/MKAnnotation.h>
那么问题来了:这两种导入有什么区别吗?
第一种是模块导入,第二种是传统引入头文件,想知道一般开发的时候使用某种有什么直接的区别吗?
我试了一下两种方式均是可行的,但是Xcode默认开启了modules,而头文件默认还是用 #import <UIKit/UIKit.h>
的方式引入头文件,想知道这是为什么。谢谢
看了猫神的博客突然懂了点,自己回答一下。
module 在使用的时候用
@import
即可。如果所有代码都需要这样重写必定是一项浩大的工程,所以 Apple 已经提前把这部分工作做好了。只要使用的是 iOS7 的 SDK,将 Enable Modules 打开后,然后保持原来的 #import 写法就行了,编译器会在编译的时候自动地把可能的地方换成 modules 的写法去编译。