我正在通过Objective-C进行Apple的编程,并在此过程中进行非常简单的练习.出于某种原因,我得到一个错误说a Method Definition cannot be found
.我检查了拼写和大写,方法都在.h和.m文件中.无法弄清楚它为什么这么做.
具体来说,它是说无法找到' Say Something ' 的方法定义.这是代码:
.H
#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
Run Code Online (Sandbox Code Playgroud)
和.m
#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
Run Code Online (Sandbox Code Playgroud)
Jes*_*sak 17
名为saySomething:
的方法与命名的方法不同saySomething
.采用论证,后者则不论证.您必须更改头文件中的声明以包含参数.即改变:
- (void)saySomething;
Run Code Online (Sandbox Code Playgroud)
至:
- (void)saySomething:(NSString *)greeting;
Run Code Online (Sandbox Code Playgroud)
这样它就符合您的实现.
归档时间: |
|
查看次数: |
8648 次 |
最近记录: |