2013-06-17 3 views
0

Im는 cocos2d의 게임과 Player.h라는 클래스에서 작업 중입니다. 그 게임은 내 게임이 아닙니다. 그것은이 같은 전화가 gotHit라는 방법이있다 : 내가 아는클래스의 부모가 누구인지 어떻게 알 수 있습니까?

[self.parent processHit]; 

부모는 아마 인 CCLayer를하지만, 어떤 계층 클래스를 찾을 수있는 방법이 있는지의 큰 프로젝트는 그래서 난 그냥 궁금 해서요 실제 부모인가?

+0

"어떤 레이어"를 의미합니까? 가능성이있는 후보자와 비교할 수 있지만 그 레이어를 참조하는 변수가 무엇인지 마술처럼 알려주는 방법은 없습니다. – Kevin

+0

음, 그게 내가 알고 싶었던 것. 나는 그것이 "마술"이라고 생각하지 않는다. 엑셀은 당신에게 세포의 후손과 선례를 말해줌으로써 그것을 이해하는 것이 불가능하다고 생각하지 않을 것입니다. 하지만 Xcode가 그렇게하지 않는다면 이해합니다. – marciokoko

+0

잠깐, 당신은 * 클래스 * 부모가 무엇을 의미합니까? "이것이 CCString의 인스턴스이며 NSString이 아닌가?"에서처럼 – Kevin

답변

1

저는 Cocos2d를 사용한 적이 없기 때문에 여기에 뭔가 빠졌는지 모르겠습니다.

XCode에서 클래스의 부모가 무엇인지 알고 싶다면 "보조 에디터"를 사용할 수 있습니다.

먼저해야 할 일은 부모님이 무엇인지 알아볼 수업을 선택하는 것입니다. 이름을 두 번 클릭하면 강조 표시됩니다.

그런 다음 "보조 에디터"를 선택하십시오. 그런 다음 "대응 항목"메뉴를 선택하십시오. 이와 같은,이 메뉴가 팝업됩니다 수행 한 후

enter image description here

을 (그것은 "수동"같은 다른 무언가를 말할 수) :

enter image description here

선택 "에 Superclasses". 그러면 현재 선택한 클래스의 수퍼 클래스가 표시됩니다. 이 도움이되지 않는 경우

, 당신과 같이, 코드에서 부모의 클래스를 찾을 수 :

Class class = [self.parent superclass]; 
NSString *classString = NSStringFromClass(class); 
NSLog(@"Parent class: %@", classString); 

희망이 도움이!

+0

고마워, 조금 다르긴하지만, 내 말씨 때문에 cocos2d 때문이 아니다. 다른 클래스가 코드에서 내 Player 클래스를 "사용"하고 싶습니다. – marciokoko

+0

글쎄, 그건 쉬운거야. 메뉴를 확인하면 "발신자"라는 옵션이 있습니다. 이것은 당신에게 당신의 수업을 사용하고있는 (수업을하는) 모든 수업을 보여줄 것입니다. 이 옵션은 "performSelector ..."또는 KVC를 사용하여 클래스를 호출 할 때 알려주지 않습니다. 이제 "USE"를 사용하여 다른 클래스가 하위 클래스를 하위 클래스로 분류하는 경우 "하위 클래스"옵션 위에있는 메뉴를 확인할 수 있습니다. – LuisCien

+0

나는 (플레이어가 선택된) 상대방을 클릭하고 발신자를 선택했지만 빈 화면이 나타납니다. :( – marciokoko

관련 문제