我有我在我的项目中经常使用的自定义类。这个类有几种方法,但并非所有的人都在每一个项目中使用。

我的问题是:包括项目这个类会臃肿无用的代码项目或将编译器只是包括使用的方法

我的意思是,如果我的班有30种方法,但仅有4被在给定的项目中使用将编译器还包括在最终产品中使用的其他未使用26或仅仅是4?

在情况下,它包括所有的,是有办法迫使它忽略未使用的方法和修剪二进制到最小?

其他提示

如果其他26种方法在@implementation代码,那么,它们将被在最终产品中使用。

的原因是因为运行时系统的。即使你没有使用在编译的时候是26层的方法,也不能保证他们不会在运行时(还记得NSSelectorFromString-performSelector:)。

被称为

我不知道是否有一种方法来强制删除这些代码。 (-dead_strip不工作。)

听起来像是你需要重构和重新命名的大胖子的妈妈类。

  

我的问题是:包括这个类   上一个项目做会增大项目   无用的代码或将编译器   只是包括所用的方法是什么?

我觉得你是在谈论包括您的助手类的头和实现。这将增加二进制文件的大小。正如jessecurry指出链接器支持死胡同剥离。这是糟糕,因为总是有可能有人想与你的二进制文件的公共API链接(幸好不是这种情况下,动态链接是不允许的iPhone,但考虑其他平台)。但我敢打赌,在规模上的差异是太边际是显著。

在尺寸方面最具影响力的通常您包括与您的应用程序的资源(图片,字符串等)。

scroll top