2012-03-19 67 views
3

我在我的Xcode了重复的错误,而建设和运行重复的符号错误的xcode iphone

我有两个文件file1.m和file2.m都使用相同的变量和函数名

file1.h

#import <UIKit/UIKit.h> 


@interface file1 : UIViewController { 

IBOutlet UILabel *result; 

} 

-(IBAction)home; 

@end 

file1.m

#include<file1.h> 
@implementation file1 
int count = 0; 
int arr[2][2]; 

file2.h

#import <UIKit/UIKit.h> 


@interface file2 : UIViewController { 

IBOutlet UILabel *result; 

} 

-(IBAction)home; 

@end 

file2.m

#include<file2.h> 
@implementation file2 
int count = 0; 
int arr[2][2]; 

当生成并运行它给我的错误重复的符号 “伯爵” 在file1.o和file2。 如果我改变他们的名字为count1和count2我不会得到任何错误。

在file1.m和file2.m文件中,我正在尝试创建全局变量。

有没有什么办法让我可以用变量相同的名称和功能这两个文件

+0

你可以发布.h吗? – kappa 2012-03-19 23:08:27

+0

你在这里定义全局变量吗?如果是这样,你打算这么做吗?请提供更多的代码。 – 2012-03-19 23:17:12

+0

我发布了一个新的代码。 @HermannKlecker是的,我想要定义全局变量 – big 2012-03-19 23:24:39

回答

5

让他们static

static int count = 0; 
static int arr[2][2]; 

注意,他们将把不同变量。如果你想给他们指相同变量,离开它你的方式在一个文件中,并在其他文件中声明他们extern

extern int count; 
extern int arr[2][2]; 

是很普遍把那些extern声明在一个共同的头。

+0

file1.m变量和file2.m变量与对方无关我希望他们分开 – big 2012-03-19 23:28:27

+0

然后'静态'是要走的路。 – 2012-03-19 23:28:48

+0

和如果我在两个.m文件中都有相同的函数名称,那么怎么办? – big 2012-03-19 23:37:13