#import <Foundation/Foundation.h>
@interface operator : NSObject {
int number;
}
@property int number;
@end
@implementation operator
- (id)init{
self = [super init];
if (self) {
[self setNumber:0];
}
return self;
}
@synthesize number;
@end
的main.m:
#import <UIKit/UIKit.h>
#import "operator.m"
int main(int argc, char *argv[]) {
id operator1 = [[operator alloc] init];
id operator2 = [[operator alloc] init];
[operator1 setNumber:10];
[operator2 setNumber:20];
int answer = [operator1 number] + [operator2 number];
printf("The answer is %d",answer);
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
int retVal = UIApplicationMain(argc, argv, nil, nil);
[pool release];
return retVal;
}
我得到一個錯誤 - >ld: duplicate symbol _OBJC_IVAR_$_operator.number in /Volumes/Home/Desktop/testing/build/testing.build/Debug-iphonesimulator/testing.build/Objects-normal/i386/operator.o and /Volumes/Home/Desktop/testing/build/testing.build/Debug-iphonesimulator/testing.build/Objects-normal/i386/main.o
這是我第一次我在節目ObjC。難道我做錯了什麼?
我試着在谷歌上找到的「清理所有目標」修復程序,但沒有幫助。
同樣的.m有兩個不同的目標也會導致這個問題。請檢查我的答案,以防萬一有人來到這個問題尋找答案。[檢查我的答案,如果是這種情況。](http://stackoverflow.com/a/24394570/818506) – 2014-06-24 19:22:51