【问题标题】:Is importing headers bad?导入标头不好吗?
【发布时间】:2010-12-14 17:31:18
【问题描述】:
你对#importing 头文件有什么看法?
如果我导入:
#import <Foundation/Foundation.h>
#import <QuartzCore/QuartzCore.h>
#import <UIKit/UIKit.h>
还有更多的标头,而且只是偶尔使用一次,是不是很浪费?它会以任何方式减慢我的应用程序吗?更重要的是,它会增加我的应用程序的大小吗?
谢谢。
【问题讨论】:
标签:
iphone
objective-c
coding-style
【解决方案1】:
不,它不会做任何这些事情。
编译器使用头文件来确定如何找到各种类型和类的定义位置。无关紧要的#imports 会导致编译应用程序的过程变慢一些无法测量的速度。
但是,如果您在文件中导入了冗余标头,则生成的二进制应用程序在大小或执行速度上不会有任何不同。
【解决方案2】:
添加到 quixoto 的答案,Objective-C 添加了
#import
标题。原来的 C 头文件是:
#include
不同之处在于 #import 实际上会检查您是否已经在代码中包含了标头。如果有,#import 语句什么也不做。