2013-08-24 8 views

답변

3

classVarNames은 클래스 변수 이름의 컬렉션을 반환하는 메서드입니다. 특별한

superclassesHaveNoClassVar: name 
    ^self allSuperclasses noneSatisfy: [:class | 
     class classVarNames includes: name] 

아무것도 : 당신이 행동 클래스에이 방법을 추가 할 것입니다 경우

예를 들어, 당신은 당신이 요구하고 기능성을 얻어야한다. allSuperclasses을 가져 와서 includes 변수 중 원하는 변수가 name 인 경우 classVarNames이 아닌지 확인하십시오.

0

그냥 보내

superclass allClassVarNames includes: #AClassVariableName 

클래스에 질문.
가 당신은 사용할 수 있습니다 : 행동 whichClassDefinesClassVar에서 다음과 같은 방법이있다, 가족 이죠에서

superclassesIncludeClassVariable: aSymbol 
^self superclass allClassVarNames includes: aSymbol 
0

:이에 대해 별도의 방법을 원하는 경우에 UKO는 제안 당신은 Behavior의 프로토콜에 allClassVarNames 옆에, 배치 할 수 그것을 좋아해 :

^(MyClass whichClassDefinesClassVar: #ThisVariableName) notNil