operator klasa:programowania iOS - Duplikat symbol _OBJC_IVAR
#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;
}
pojawia się błąd ->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
To jest mój pierwszy raz, kiedy w programie ObjC. czy robię coś źle?
Próbowałem naprawić "Usuń wszystkie cele", które znalazłem w Google, ale nie pomogło.
Taki sam problem może mieć również ten sam .m posiadanie dwóch różnych celów. Sprawdź moją odpowiedź na wypadek, gdyby ktoś podszedł do tego pytania szukając odpowiedzi. [Sprawdź moją odpowiedź, jeśli to jest przypadek.] (Http://stackoverflow.com/a/24394570/818506) –