1. target-Action
대상을 지정하여 특정 동작을 취하게 설정함
흔히 사용하는 형태는 버튼을 클릭했을때 클릭 함수를 구현하여 동작하게 하는 것
objective-C에서 selector문법이 이에 해당된다.
2. 샘플 코드
@interface Dialog :NSObject
-(void)close;
@end
@implementation Dialog
-(void)close
{
NSLog(@"Dialog close");
}
@end
@interface Button:NSObject
{
id target;
SEL action;
}
-(void) click;
-(void) addTarget:(id)t action:(SEL)a;
@end
@implementation Button
-(void)click
{
// 자신이 클릭된 상황을 외부에 알림. 객체가 이벤트 발생한다라고 표현
[target performSelector:action];
}
-(void)addTarget:(id)t action:(SEL)a
{
target = t;
action = a;
}
@end
int main()
{
//Dialog* dlg = [Dialog alloc];
id n = (id)10;
NSLog(@"%d",(int)n);
id dlg = [Dialog alloc]; // void 포인터, 모든 객체의 주소를 담음, 값을 담으려면 casting 필요
Button* btn = [Button alloc];
[btn addTarget:dlg action:@selector(close)];
// 사용자가 버튼을 클릭하면 아래 함수가 호출된다고 가정
[btn click];
[btn release];
[dlg release];
dlg = nil;
return 0;
}
'교육 > Objective-C' 카테고리의 다른 글
[Objective-C] 메모리 관리 (0) | 2016.07.26 |
---|---|
[Objective-C] init (0) | 2016.07.26 |
[Objective-C] selector (0) | 2016.07.13 |
[Objectiv-C] method (0) | 2016.07.13 |
[Obective-C] Class (0) | 2016.07.13 |