2011-02-24 5 views
3

-forwardInvocation:과 함께 @dynamic 속성을 사용하여 런타임에 속성을 생성합니다 (this answer에서 설명).@dynamic 속성은 GDB에서 지원되지 않습니까?

(gdb) call (void) [myObject setName:@"foo"] 
Target does not respond to this message selector. 

(gdb) po [myObject name] 
Target does not respond to this message selector. 

이 일을하기 위해 GDB에있는 스위치가 있습니까 : 나는 그런 속성을 사용하여 작업 할 때 지금, 나는 항상이 얻을 GDB에 (name는 동적 속성이되어 가정)?

+0

forwardInvocation은 어떻게 사용합니까?이 시나리오에서는 실제 속성 게터 및 설정자와 관련하여? – Ryan

+0

@Ryan, 정확하게 링크 된 답변과 마찬가지로 사전을 데이터 저장소로 사용하고 있습니다. –

+0

gdb가 명령 줄 인터페이스 구현에서이 상황에 대비할 수없는 경우 일 수 있습니다. 개체에 -methodSignatureForSelector :도 구현 했습니까? 또한 myObject 변수가 유효한 클래스 인스턴스를 가리키고 있지 않다면 gdb에서이 메시지를 얻으시기 바랍니다. gdb가이 명령을 실행할 때 기대하는 클래스 이름을 인쇄합니까? "po [myObject class]"? – Ryan

답변

8

매우 어색하지만 po [myObject performSelector:@selector(name)]을 사용할 수 있습니다.

관련 문제