0
好的,这里有。我已经完成了一个Cocoa基础工具,可以计算随机整数的平均绝对偏差(就像学习项目一样)。在Cocoa/Obj-C项目中声明外部函数
我已将计算移入名为“findMeanAbsoluteDeviation()”的函数中。它接受NSMumber对象的NSMutableArray以进行预形成计算。无论如何。因此,当我将其声明在与我的其他代码相同的“.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...
}
,它工作正常。现在,我想将该功能移至外部文件。我创建了一个名为“mad”的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
任何想法?谢谢你的帮助!
确定。我很喜欢Stack Overflow。非常感谢。我改变了我的“#import”声明。 然后我读了(http://www.otierney.net/objective-c.html)上的类方法,我想知道+和 - 之间有什么区别。非常感谢。我永远感谢:) 还有一个问题,如果我的函数接受NSArray,我可以传递它一个NSMutableArray,因为它是NSArray的子类,或者我应该NSAray * copyArray = [NSArray initWithArray:myMutableArray]; ?我很确定它的前者。 – 2009-05-06 02:49:32