提前:对于noob问题抱歉,但我正在学习Cocoa& Objective-C和我有这个问题,我一直在寻找一个完整的小时。如果有人能找到问题,那将是非常好的!
这是我的两个文件: 的 Driver.m
#import "Driver.h"
@implementation Driver
- (int)go:(BOOL)distance {
if (distance) {
return 10;
} else {
return 5;
}
}
- (NSString *)firstName {
return firstName;
}
- (void)setFirstName:(NSString *)name {
[name retain];
[firstName release];
firstName = name;
}
- (void)dealloc {
[firstName release];
[super dealloc];
}
@end
这是另一个: 的 Driver.h
#import <Cocoa/Cocoa.h>
@interface Driver : NSObject {
NSString *firstName;
}
- (int)go:(int)direction theDistance:(BOOL)distance;
- (NSString *)firstName;
- (void)setFirstName:(NSString *)name;
@end
问题发生在我执行Driver的@end行。我试图清理和构建,我查了谷歌,但还没有找到任何帮助。
非常感谢!
答案 0 :(得分:4)
之间存在不匹配
- (int)go:(int)direction theDistance:(BOOL)distance;
和
- (int)go:(BOOL)distance {
它告诉你,你在.h文件中声明了第一个,但从未实现它。
答案 1 :(得分:0)
您在@interface上下文中声明了未在@implementation上下文中实现的方法。你得到一个编译器警告。