1. init
객체를 초기화하는 함수
init~으로 시작
성공하면 자신의 주소 리턴, 실패시 nil 리턴
초기화 할때 변수를 받아서 할 수도 있다.
nil포인터에 함수 호출해도 죽지않음 ex) [nil init]
부모의 초기화 함수를 부르는경우 부모거(suepr) 먼저 내거(self) 나중
2. 소멸자
dealloc
부모의 dealloc을 부르는 경우 내거(self) 먼저 부모거(super) 나중
3. 샘플 코드
interface Car :NSObject
{
int speed;
}
-(id)init;
-(id)initWithSpeed:(int)spd;
-(void)printSpeed;
-(void)dealloc;
@end
@implementation Car
-(id)init
{
self = [super init];
if (self)
{
speed = 3;
}
return self;
}
-(id)initWithSpeed:(int)spd
{
self = [super init];
if(self)
{
speed = spd;
}
return self;
}
-(void)printSpeed
{
NSLog(@"speed = %d",speed);
}
-(void)dealloc
{
NSLog(@"dealloc");
[super dealloc];
}
@end
int main()
{
Car* p = [[Car alloc] initWithSpeed:5];
[p printSpeed];
Car* p2 = 0;
[p2 init];
[p release];
[p2 release];
return 0;
}
'교육 > Objective-C' 카테고리의 다른 글
[Objective-C] property (0) | 2016.07.26 |
---|---|
[Objective-C] 메모리 관리 (0) | 2016.07.26 |
[Objective-C] target-Action (0) | 2016.07.13 |
[Objective-C] selector (0) | 2016.07.13 |
[Objectiv-C] method (0) | 2016.07.13 |