gpt4 book ai didi

objective-c - 获取 "Method Definition not found error"并且不知道为什么

转载 作者:太空狗 更新时间:2023-10-30 03:31:22 26 4
gpt4 key购买 nike

我正在阅读 Apple 的 Programming with Objective-C,并在此过程中进行非常简单的练习。出于某种原因,我收到一条错误消息,提示无法找到方法定义。我检查了拼写和大写字母,方法在 .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

.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

最佳答案

名为saySomething: 的方法不同于名为saySomething 的方法。前者接受论点,后者不接受。您必须更改头文件中的声明以包含一个参数。即改变:

- (void)saySomething;

到:

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

以便它与您的实现相匹配。

关于objective-c - 获取 "Method Definition not found error"并且不知道为什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13963709/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com