1

提前:抱歉这个菜鸟问题,但我正在学习 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 行。我试图清理和构建,我查了谷歌,但还没有找到任何帮助。

非常感谢!

4

2 回答 2

4

之间存在不匹配

- (int)go:(int)direction theDistance:(BOOL)distance;

- (int)go:(BOOL)distance {

它告诉您您在 .h 文件中声明了第一个,但从未实现它。

于 2009-09-06T22:47:00.503 回答
0

您在 @interface 上下文中声明了未在 @implementation 上下文中实现的方法。你会得到一个编译器警告。

于 2009-09-07T06:01:39.537 回答