程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> xcode-Objective C中沒有聲明的標示符

xcode-Objective C中沒有聲明的標示符

編輯:編程綜合問答
Objective C中沒有聲明的標示符

實在是不知道該怎麼繞過這個錯誤,總是說:use of undeclared identifier 'ageBy'。請高手幫我指點一下吧,先看看我的代碼:

Person.h

@interface Person : NSObject
{
 int _age;
 int _years;
 NSString *_name;
 NSString *_job;

} 

-(void)setAge:(int)age;
-(int)age;

-(void)setName:(NSString *)name;
-(NSString *)name;

-(void)setJob:(NSString *)job;
-(NSString *)job;

-(NSString *)summaryString;

-(void)ageBy:(int)years;


@end

Person.m

#import "Person.h"
@implementation Person

-(void)setAge:(int)age{
  _age = age;
}
-(int)age{
  return _age;
}
-(void)setName:(NSString *)name{
  _name = name;
}
-(NSString *)name{
  return _name; }

-(void)setJob:(NSString *)job{
  _job = job;
}
-(NSString *)job{
  return _job;
}

-(NSString *)summaryString{
  return [NSString stringWithFormat:@"The Person %@ is %d years old and is a  %@",_name,_age,_job];

-(void)ageBy:(int)years{
  _years = years;
  _age = years + _age;

 }

 } 
 @end

最佳回答:


你的ageBy是在summaryString中定義的,應該移動{}括號到@end之前,這樣它就在
-(void)ageBy:(int)years中了,

-(NSString *)summaryString{
  return [NSString stringWithFormat:@"The Person %@ is %d years old and is a  %@",_name,_age,_job];
 } 

-(void)ageBy:(int)years{
  _years = years;
  _age = years + _age;

 }
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved