XCode 를 접하면서 delegate란 개념이 많이 나오는데 한번에 와닿지가 않아서 많이 해맸습니다.
c, c++ 의 개념에서 찾자면 인터페이스 구현정도가 될꺼 같습니다..
// 마우스와 관련한 메시지와 관련된 클래스를 정의 합니다.
class IMouseDelegate
{
virtual void Click() = 0;
};
// 마우스와 관련된 메시지를 받을 클래스를 정의 합니다..
class User : public IMouseDelegate
{
virtual void Click()
{
// 클릭
}};
// 마우스와 관련된 메시지를 송신해줄 객체입니다.
class System
{
pubic:
IMouseDelegate* delegate;
public:
void CheckMouse()
{
delegate->Click();
}
};
void main()
{
System system;
User user;
// system의 delegate에 메시지를 받을 객체는 user 객체라는 것을 알려줍니다.
system.delegate = & user;
// system 객체에서 마우스를 검사합니다.
system.CheckMouse();
}
'공개 포스팅' 카테고리의 다른 글
getDistanceFrom is Deprecated (0) | 2010.09.23 |
---|---|
_kCLLocationAccuracyBest 링크 에러 (0) | 2010.09.23 |
캔 맥주를 냉동실에 넣어놓고 잊어 먹었더니 (0) | 2010.09.22 |
No provisioned iPhone OS device is connected. (0) | 2010.09.22 |
레지던트 이블 4 3D (0) | 2010.09.21 |