哇,这令人沮丧。
最近升级到 OS X 10.8 和 Xcode 4.4.1 当 Xcode 似乎忘记了符号和方法时,我工作得很好。它开始认为有很多东西没有定义、声明、合成等,而实际上它们都很好(项目构建得很好,在某些情况下,符号就在文件中)。此外,问题的数量也在跳跃。通常它会在一个文件(AppDelegate)中发现 4 个问题,但是如果您查看其中任何一个错误,它会迅速将问题提升到 13 或 14 个。这些较新的问题似乎主要是您在不导入头文件时遇到的类型但这从来都不是问题。
在 SO 中环顾四周,我发现有时人们会清除 DerivedData 文件夹或其他各种技巧。我创建了一个 DerivedData2 文件夹并指向它,但这并没有解决问题。
我正在使用 git,但并没有经常承诺退回到理想的点(工作会丢失/是的,吸取的教训)。我还在 SO 上读到,有时是 git 文件会让人感到困惑。
对不起,这太笼统了。关于重置什么/如何重置以消除 Xcode 的困惑有什么建议吗?我希望这不是 Xcode 4.4.1 的特性!我不排除这是我做过的事情……但我认为值得询问 Xcode 问题以及人们如何处理这些问题。
编辑: @Abizem 的把戏有很大帮助。现在我真的只剩下一个问题,所以我可以深入了解细节。请记住,这段代码运行良好,只是停止了。在 AppDelegate 中,我有 .h:
@interface AppDelegate : UIResponder <UIApplicationDelegate, UITabBarControllerDelegate>
@property (strong, nonatomic) UIWindow *window;
@property (strong, nonatomic) UITabBarController *tbc;
@end
然后在.m
@implementation AppDelegate
@synthesize window = _window;
@synthesize tbc = _tbc;
这几乎就像有一个错字,但我不这么认为。我得到的错误是Property implementation must have its declaration in interface 'AppDelegate'
指向该@synthesize tbc
行。没有比这更基本的了。为什么 Xcode 不能识别这个?
编辑 2: 在@synthesize
forwindow
和tbc
注释掉的情况下,以下几行都抱怨property tbc not found on object type AppDelegate *
. 顺便说一句,这些问题在我发表评论之前就已经存在,我认为它们与投诉有关property declaration... interface
,并且在修复后会消失,但显然不是。Xcode 根本不再知道在哪里/什么tbc
。没有覆盖这些对象的任何方法。我一定有一个恶作剧鬼!
self.tbc = [[UITabBarController alloc] init];
self.tbc.viewControllers = [NSArray arrayWithObjects:gameVC, settingsVC, helpVC, nil];
self.window.rootViewController = self.tbc;