2012-03-19 61 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