好的,所以它是这样的:
receiver selectors
返回
#(#expression #expression: #mondrianLabel #accept: #name)
但
receiver expression
抛出MessageNotUnderstood
。
任何想法如何解决此问题以及为什么会导致此问题?
好的,所以它是这样的:
receiver selectors
返回
#(#expression #expression: #mondrianLabel #accept: #name)
但
receiver expression
抛出MessageNotUnderstood
。
任何想法如何解决此问题以及为什么会导致此问题?
您可能将消息发送expression
到一个类而不是该类的实例。
如果评估的结果receiver selectors
是#(#expression #expression: #mondrianLabel #accept: #name)
thenreceiver
很可能是一个类。消息#selectors
在类上实现,Behavior
并返回类的实例方法的选择器。换句话说:类(或其任何子类)的实例理解列出的消息。
因此,如果您评估receiver expression
,那么您将收到一条消息未理解异常,因为该消息#expression
是在作为receiver
变量值的类的实例上定义的。