#import <Foundation/Foundation.h>
@interface Window : NSObject
-(void)open;
@end
@implementation Window
-(void)open
{
NSLog(@"open");
}
@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
#import <Foundation/Foundation.h>
int main (int argc, const char * argv[])
{
Window* wnd = [Window alloc];
Button* btn = [Button alloc];
[btn addTarget:wnd action:@selector(open)];
[btn click];
[btn release];
[wnd release];
}
objective c 흑흑..
이런 적응안되는 문법 보소;;
object c++이 아이폰프로그래밍이였나 갤럭시꺼였나... object하구 xcode하구 헷갈리네.....
프로토콜 안보이는데?
selector 임. 잘못 침.
함수를 객체처럼 취급할수 있다는게 선택자의 핵심이지