Error de Objective-C "No hay una interfaz visible para 'XYZPerson' que declara el selector 'saySomething'

Soy realmente nuevo en Objective-C y cuando estaba practicando los ejercicios del libro, realmente estoy atascado aquí. Por favor, ayúdeme a resolver esto y he estado pensando qué podría causar este error durante más de tres horas. ¡Todavía no lo entendí!

Saludos cordiales, Raj.

Gracias por adelantado !

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

¡Lo tengo funcionando! Gracias a @MatthewD, @trojanfoe, @JFS por su gran ayuda :)

Respuestas a la pregunta(3)

Su respuesta a la pregunta