重复符号错误xcode iphone

big*_*big 3 iphone xcode objective-c

在构建和运行时,我的xcode中出现重复错误

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

file1.h

#import <UIKit/UIKit.h>


@interface file1 : UIViewController {

IBOutlet UILabel *result;   

}

-(IBAction)home;

@end
Run Code Online (Sandbox Code Playgroud)

file1.m

#include<file1.h>
@implementation file1
int count = 0;
int arr[2][2];
Run Code Online (Sandbox Code Playgroud)

file2.h

#import <UIKit/UIKit.h>


@interface file2 : UIViewController {

IBOutlet UILabel *result;   

}

-(IBAction)home;

@end
Run Code Online (Sandbox Code Playgroud)

file2.m

#include<file2.h>
@implementation file2
int count = 0;
int arr[2][2];
Run Code Online (Sandbox Code Playgroud)

构建并运行时,它会在file1.o和file2中给出错误重复符号"count".o如果我将其名称更改为count1和count2,我将不会收到任何错误.

在file1.m和file2.m中,我试图创建全局变量.

有什么办法可以在两个文件中使用变量和函数的相同名称

Car*_*rum 5

制作它们static:

static int count = 0;
static int arr[2][2];
Run Code Online (Sandbox Code Playgroud)

请注意,它们将引用不同的变量.如果您希望他们引用相同的变量,请将其保留在一个文件中,并在另一个文件中声明它们extern:

extern int count;
extern int arr[2][2];
Run Code Online (Sandbox Code Playgroud)

将这些extern声明放在一个公共标题中是很常见的.