Ошибка Objective-C "Нет видимого @interface для 'XYZPerson' объявляет селектор 'saySomething'
Я действительно новичок в Objective-C, и когда я практиковал упражнения с книгами, я действительно застрял здесь. Пожалуйста, помогите мне решить эту проблему, и я думал, что может вызвать эту ошибку более трех часов. Тем не менее я не получил это!
С наилучшими пожеланиями, Радж.
Заранее спасибо !
main.m
#import <Foundation/Foundation.h>
#import "XYZPerson.h"
#import "XYZShout.h"
int main(int argc, const char * argv[])
{
@autoreleasepool {
//XYZPerson *some = [[XYZPerson alloc]init];
XYZShout *some = [[XYZShout alloc]init];
[some sayHello];
// insert code here...
// NSLog(@"Hello, World!");
}
return 0;
}
XYZPerson.h
#import <Foundation/Foundation.h>
@interface XYZPerson : NSObject
@property NSString *firstName;
@property NSString *secondName;
@property NSDate *dob;
-(void) saySomething;
-(void) sayHello;
@end
XYZPerson.m
#import "XYZPerson.h"
@implementation XYZPerson
-(void) sayHello {
[self saySomething:@"Hello all"];
}
-(void) saySomething:(NSString *)greet {
NSLog(@"%@", greet);
}
@end
XYZShout.h
#import "XYZPerson.h"
@interface XYZShout : XYZPerson
// -(void) saySomething;
@end
XYZShout.m
#import "XYZShout.h"
@implementation XYZShout
-(void) saySomething:(NSString *)greet {
NSString *upperGreet = [greet uppercaseString];
[super saySomething:upperGreet]; // this is where I get the error mentioned above
}
@end
Работай! Спасибо @MatthewD, @trojanfoe, @JFS за вашу большую помощь :)