我是 Objective-C 的新手。我有一个带有属性 {firstName, lastName, dateOfBirth} 的 'XYZPerson' 类,当我在 main 中编写“XYZPerson *person = [[XYZPerson alloc] init]”时,它应该调用我应该在-turn 调用我指定的初始化程序并使用定义的值初始化我的对象。
我的代码片段。http://pastebin.com/FfxNDDhf
#import <Foundation/Foundation.h>
#import "XYZShoutingPerson.h"
int main(int argc, const char * argv[])
{
@autoreleasepool {
XYZPerson *person=[[XYZPerson alloc] init];
if(person) {
[person sayHello];
}
else {
NSLog(@"Person Object is NULL");
}
}
return 0;
}
-(id)init
{
self=[super init];
return [self initWithFirstName:@"Ankit" LastName:@"Sehra" DOB:01/01/2000];
}
-(id)initWithFirstName:(NSString *)aFirstName LastName:(NSString *)aLastName DOB:(NSDate *)aDateOfBirth
{
_firstName=aFirstName;
_lastName=aLastName;
_dateOfBirth=aDateOfBirth;
}
-(void)sayHello;
{
NSLog(@"%@ %@ %@",self.firstName,self.lastName,self.dateOfBirth);
}
现在编写程序的输出是“Person Object is NULL”,我希望它打印 firstName、lastName 和 DOB。