框架导入

所有使用的框架都需要导入,但是系统会根据代码对一部分系统框架进行自动导入

所以通常使用的UIKit框架并不需要我们自己手动导入

但如果仅在Xib或StoryBoard中使用了一些其他框架下的控件,就需要手动导入对应框架

例如在StoryBoard中拖放一个MapView,代码中未添加任何操作

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
}
@end

StoryBoard中:

StoryBoard.png

这是运行会直接崩溃:

error.png

接下来导入头文件:

#import <MapKit/MapKit.h>

再次运行依然会崩溃:

error_1.png

这时我在控制器中添加一行代码(MapKit框架下的类):

MKMapItem *mapItem = [[MKMapItem alloc]init];

再次运行正常:

normal.png

说明系统自动帮我们导入了MapKit框架

MapKit框架中包含CoreLocation框架,如果我在控制器中只写这样一行代码

CLGeocoder *geocoder = [[CLGeocoder alloc]init];

还是会崩溃,所以系统只会根据部分代码自动导入系统框架

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容