与构造函数"Missing Context for method declaration"



我在构建项目后只得到这个失败。我正在使用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

你能帮我这个吗?多谢。

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

#import "Car.h"
@implementation Car
-(id)init          
{
    self = [super init];
    if(self){
        [self setBrand : @""];
        [self setMode1 : @""];
        [self setVIN : @""];
          }
    return self;
}
@end

与 Car 类相关的方法的实现总是用 @implementation Car 包装并以 @end 结尾。 您声明和实现方法时没有告诉编译器它们属于哪个类。

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

最新更新