我有时会看到我所做的更改显示在第三次或第四次生成运行。就好像xcode“缓存”旧的编译。Xcode是否始终从头编译
如何删除所有编译文件,并从头开始
有一两件事特别frustating是这样的:
我得到一个编译此代码警告
: [self.currentBusiness addCategoriesObject: self.currentCategory];
我知道是什么问题。自动生成的核心数据代码没有 - (void)addDistrictsObject:(District *)value; - (void)addCategoriesObject:(Category *)value;
Business.h。该功能在Business.m中定义。
所以我加了这两行。猜猜看,还是一样的警告。几次没有问题,我有这个完全相同的问题。我知道解决方案。我把这条线放在business.h中。没有什么变化。
但是现在我得到了相同的编译器警告,即使该方法是在business.h中清晰定义的。
好像xcode不关心我放的最后一个改变。
我很沮丧。我在我的utilities.h中再次添加#import“Business.h”。由于已经通过其他渠道包含“Business.h”,因此不应更改任何内容。猜猜看,它有效。
但后来我想,这就是问题所在。我好奇地删除/#再次导入“Business.h”,所以它像往常一样回来。如果这真的是问题,那么错误应该再次显示正确吗?错误。
错误消失了。
因此,我所做的更改没有立即显示结果。编译器或预编译器都必须使用某种缓存。
这很重要。在我不知道如何调试之前,有2-3个构建版本的bug。如果代码在第一次构建之后立即发生变化,那么我知道发生了什么错误。
此外,该autorestore似乎并没有工作。我创建了一个快照,将快照恢复到另一个目录并且出现了很多编译错误。
按照以下步骤解决问题,转到生成 - >清理所有目标。你会完成,然后再次编译并运行以查看你的更改 – 2011-06-16 09:32:06