objective-c – 获取“未找到方法定义错误”并且不知道原因

前端之家收集整理的这篇文章主要介绍了objective-c – 获取“未找到方法定义错误”并且不知道原因前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在通过Objective-C进行Apple的编程,并在此过程中进行非常简单的练习.出于某种原因,我收到一条错误,指出无法找到方法定义.我检查了拼写和大写,方法是在.h和.m文件中.无法弄清楚它为什么这样做.

具体来说,无法找到“Say Something”的方法定义.这是代码

.H

@H_403_6@#import <Foundation/Foundation.h> @interface XYZPerson : NSObject @property NSString *firstName; @property NSString *lastName; @property NSDate *dateOfBirth; - (void)saySomething; - (void)sayHello; - (void)sayShutUp; - (void)sayHola; + (id)person; @end

还有他们

@H_403_6@#import "XYZPerson.h" @implementation XYZPerson - (void)saySomething:(NSString *)greeting { NSLog(@"%@",greeting); } - (void)sayHello { [self saySomething:@"Hello,World!"]; } - (void)sayHola { [self saySomething:@"Hola,Amigos!"]; } - (void)sayShutUp { [self saySomething:@"Shut up!"]; } + (id)person { return [[self alloc]init]; } @end

解决方法

名为saySomething的方法与名为saySomething的方法不同.前者采取论证,而后者则没有.您必须更改头文件中的声明以包含参数.即改变: @H_403_6@- (void)saySomething;

至:

@H_403_6@- (void)saySomething:(NSString *)greeting;

这样它就符合您的实现.

猜你在找的C&C++相关文章