2010-07-06 2 views
1

선언하고있는 델리게이트가 포인터 타입으로 선언되지 않았다는 것을 알게되었습니다. 마지막 방법은 올바른 왜델리게이트 선언

그래서 대신

id <AddViewControllerDelegate> *delegate; 

의 나는이

id <AddViewControllerDelegate> delegate; 

있나요? self이 포인터이기 때문에 왜 대리자가 아닌가?

답변

2

'id'는 이미 포인터 유형입니다. typedef 바로 뒤에 숨어 있습니다.

typedef id   (*IMP)(id, SEL, ...); 
typedef struct objc_class *Class; 
typedef struct objc_object { 
    Class isa; 
} *id; 
+0

헤더 파일은 어디에 있습니까? – Pablo

0

id는 실제로 개체에 대한 포인터입니다.

+0

포인터에 대한 포인터에 문제가 없습니다. 컴파일러는 그것들을 싫어하지 않습니다. 그것들은 완벽하게 유효합니다. 객체에 대한 포인터와 똑같은 것은 아닙니다. – Chuck

관련 문제