1

在构建项目后,我只得到了这个失败。我使用 XCode 4.6.3

类.m

#import "Car.h"
//constructor
-(id)init          //<----- ***MISSING CONTEXT FOR METHOD DECLARATION***
{
    self = [super init];
    if(self){
        self.brand = @"";
        self.model = @"";
        self.vin = 0;
    }
    return self;

class.h 没有错误。

#import <Foundation/Foundation.h>

@interface Car : NSObject
{
    NSString *brand, *model;
    NSNumber *vin;
}
    //set
-(void) setBrand:(NSString *) newBrand;
-(void) setModel:(NSString *) newModel;
-(void) setVIN:(NSNumber *) newVIN;
    //get
-(NSString *) getBrand;
-(NSString *) getModel;
-(NSNumber *) getVIN;
    //methods
-(void) accelerateTo100;
-(void) fuelConsuming;
-(void) hardStop;
@end

你能帮我解决这个问题吗?非常感谢。

4

3 回答 3

1

与 Car 类相关的方法的实现总是@implementation Car@end. 您在声明和实现方法时没有告诉编译器它们属于哪个类。

于 2013-09-18T04:36:24.110 回答
1

答案是@CodaFi 解释的。尝试这个

#import "Car.h"
@implementation Car

-(id)init          
{
    self = [super init];
    if(self){

        [self setBrand : @""];
        [self setMode1 : @""];
        [self setVIN : @""];
          }
    return self;
}
@end
于 2013-09-18T04:36:45.283 回答
1

检查@implementation 部分中是否没有#import "..."。

于 2015-01-27T22:21:01.290 回答