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; }
时间: 2024-10-03 00:13:57

xcode-Objective C中没有声明的标示符的相关文章

详解Linux中获取全球唯一标示符UUID的方法

  UUID(Universally Unique IDentifiers),全球唯一标示符.它是一个标识系统中的存储设备的字符串,使其确定系统中的所有存储设备. 为什么要使用UUID?因为系统自动分配的设备名称并非总是一致的,它们依赖于启动时内核加载模块的顺序.相同的名称可能代表不同的硬盘分区.如果每个分区有一个唯一的UUID值,尤其是在grub中的kernel设置,这样就不会发生分区识别混乱的问题. 下面介绍几种方法来获得UUID. 1.最简单的方法就是使用blkid命令,它主要用来对系统的

经验点谈在JSP中的声明

在JSP中的声明: JSP中的声明有两种方法:一种是<% intCount=0%>,另一种是<%! intCount=0%>,现在讲讲第二种. 1.测试条件: 假设有两个页面test1.jsp和test2.jsp都有如下代码: <%! intCount=0%> <%intCount+=1; out.print("第"+intCount+"人次进入本页面!"); %> 2.测试环境:Jrun3+jdk1.2 3.测试结果

objective c-在Xcode4中调用方法没用回应

问题描述 在Xcode4中调用方法没用回应 如题,要调用的方法是导入工程中的外来文件,但是工程编译成功了,文件方法调用失败.而且也没有错误提示什么的. 问题描述: 1.下载了 Flickr API(4个文件) 到Xcode文件管理器中,指定赋值和链接到我工程中的4个文件. * Flickr.h * Flickr.m * FlickrPhoto.h * FlickrPhoto.m 2.在主视图控制器中,最先导入了外来文件: #import "Flickr.h" #import "

浅析C++中前置声明的应用与陷阱

以下是对C++中前置声明的应用与陷阱进行了详细的分析介绍,需要的朋友参考下   前置声明的使用有一定C++开发经验的朋友可能会遇到这样的场景:两个类A与B是强耦合关系,类A要引用B的对象,类B也要引用类A的对象.好的,不难,我的第一直觉让我写出这样的代码: 复制代码 代码如下: // A.h #include "B.h" class A { public:     A(void);     virtual ~A(void); }; //A.cpp #include "A.h&

C++中前置声明的应用与陷阱

以下是对C++中前置声明的应用与陷阱进行了详细的分析介绍,需要的朋友参考下   前置声明的使用有一定C++开发经验的朋友可能会遇到这样的场景:两个类A与B是强耦合关系,类A要引用B的对象,类B也要引用类A的对象.好的,不难,我的第一直觉让我写出这样的代码: 复制代码 代码如下: // A.h #include "B.h" class A { public:     A(void);     virtual ~A(void); }; //A.cpp #include "A.h&

浅析javascript中函数声明和函数表达式的区别

这篇文章主要介绍了浅析javascript中函数声明和函数表达式的区别,需要的朋友可以参考下     javascript中声明函数的方法有两种:函数声明式和函数表达式. 区别如下: 1).以函数声明的方法定义的函数,函数名是必须的,而函数表达式的函数名是可选的. 2).以函数声明的方法定义的函数,函数可以在函数声明之前调用,而函数表达式的函数只能在声明之后调用. 3).以函数声明的方法定义的函数并不是真正的声明,它们仅仅可以出现在全局中,或者嵌套在其他的函数中,但是它们不能出现在循环,条件或者

JavaScript中变量声明有var和没var的区别

 本文来论述JavaScript中变量声明有var和没var的区别,关于Js中的变量声明的作用域是以函数为单位,所以我们经常见到避免全局变量污染的方法是 1 2 3 (function(){  // ...  })(); 在函数内部,有var和没var声明的变量是不一样的.有var声明的是局部变量,没var的,声明的全局变量,所以可以借此向外暴露接口东东. 在全局作用域内声明变量时,有var 和没var看起来都一样,我们知道,声明的全局变量,就是window的属性,究竟是否一样,我们通过ECMA

c++-C++中指针声明时,int* p=0跟int *p=0哪个比较好?为什么?

问题描述 C++中指针声明时,int* p=0跟int *p=0哪个比较好?为什么? 新手学习C++时候,发现有些书写 int* p=0; 有些书写: int *p=0; 这两个有区别吗?区别在哪里?为什么会有两种写法? 还有下面的两种有区别吗?区别在哪里? int* const p=0; int const *p=0; 解决方案 第一个问题,这是定义一个int* p指针变量,(int p)<--->(int p) 这两种是等价,编译器会处理中间的空白符问题.第二个问题,int *const

xcode 路径-Xcode,图中划红线的部分如何添加路径?

问题描述 Xcode,图中划红线的部分如何添加路径? 解决方案 这个是你希望添加的目标.xcode中设置 解决方案二: 在设置中进行配置吧!