Хорошо, здесь идет. Я закончил фундаментальный инструмент Какао, который вычисляет среднее абсолютное отклонение случайных целых чисел (так же, как учебный проект).
Я переместил вычисление в функцию с именем "findMeanAbsoluteDeviation ()". Он принимает NSMutableArray объектов NSNumber для предварительных расчетов. В любом случае. Так что это прекрасно работает, когда я объявляю это в том же файле ".m", что и мой другой код.
#import <Foundation/Foundation.h>
float findMeanAbsoluteDeviation(NSMutableArray * array);
int main (int argc, const char * argv[]) {
...generate random integers, execute function...
meanAbsoluteDeviation = findMeanAbsoluteDeviation(numArray);
}
float findMeanAbsoluteDeviation(NSMutableArray * array) {
...mean absolute deviation maths...
}
и работает нормально. Теперь я хотел бы переместить функцию во внешний файл. Я создал
Подкласс NSObject назван "безумным". Я переместил функцию в свой безумный «mad.m», прочитал, а затем переформатировал объявление, чтобы оно выглядело как
-(float)findMeanAbsoluteDeviation:(NSMutableArray *)array {
...code...
}
и в моем файле "mad.h".
@interface mad : NSObject {
}
- (float)findMeanAbsoluteDeviation:(NSMutableArray *)array;
@end
кажется все потрясающим. Правильно? все, что мне нужно сделать, это добавить ...
#import "mad.m"
в начало моего файла "main.m" и используйте эту функцию, как обычно. Ну, похоже, он неправильно компилируется.
ld: duplicate symbol .objc_class_name_mad in ------standardDeviation.build/Debug/standardDeviation.build/Objects-normal/i386/mad.o and ------standardDeviation.build/Debug/standardDeviation.build/Objects-normal/i386/standardDeviation.o
"------" опущено для длины
Command /Developer/usr/bin/gcc-4.0 failed with error code 1
Есть идеи? Спасибо за вашу помощь!