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