私はObjective-Cの初心者です。属性 {firstName, lastName, dateOfBirth} を持つ「XYZPerson」クラスがあり、「XYZPerson *person = [[XYZPerson alloc] init]」をメインに書き込むときに、オーバーライドされた「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 を出力します。