我对Objective-C非常陌生,当我练习书本练习时,我真的被困在这里,请帮我解决这个问题。我一直在想,是什么引发这个错误了三个多小时。我仍然没有得到它!Objective-C错误“XYZPerson没有可见的@interface”声明选择器'saySomething'
最好的问候, 拉吉。
提前感谢!
的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对你的大力帮助:)
您是否也可以包含XYZShout.h的代码? – MatthewD 2013-02-19 11:27:04
如果将XYZPerson.h中的' - (void)saySomething'改为' - (void)saySomething:greet;'? – MatthewD 2013-02-19 11:29:39
添加XYZShout.h马修 – Raj0689 2013-02-19 11:38:34