为什么Xcode告诉我这个变量是未声明的?

时间:2009-07-31 06:14:42

标签: objective-c cocoa xcode

我在Xcode中遇到以下错误,我知道我需要声明filteredChildren所以我尝试将行NSArray *filteredChildren添加到头文件中,但这只会让事情变得更糟。我需要将哪些代码添加到delcare filteredChildren的标题中?

alt text http://snapplr.com/snap/wkd6

2 个答案:

答案 0 :(得分:1)

你的标题应该看起来像这样:

@interface SomeClass {
    NSArray *filteredChildren; // this should fix the compiler error
}

// If the filteredChildren method is public, add this declaration as well to prevent compiler warnings
- (NSArray *)filteredChildren;

@end

答案 1 :(得分:0)

看不到代码,但请确保函数后所有花括号都已打开和关闭,知道这可能会导致问题,并且可以在大型项目中轻松完成。

int a = 1;
void example () 
{ if (exampleVar = 1 {
a = 2; // not declared error
}


int a = 1;
void example () 
{ if (exampleVar = 1 {
a = 2; // should be declaring
}
}

检查所有头文件和类层次结构,以确保没有两次声明头文件或同一类,这在创建类实例并将其声明为未声明时会生效。

如果不是这种情况,请尝试清除/重置已编译的数据。