2

好的,所以它是这样的:

receiver selectors

返回

#(#expression #expression: #mondrianLabel #accept: #name)

receiver expression

抛出MessageNotUnderstood

任何想法如何解决此问题以及为什么会导致此问题?

4

1 回答 1

4

您可能将消息发送expression到一个类而不是该类的实例。

如果评估的结果receiver selectors#(#expression #expression: #mondrianLabel #accept: #name)thenreceiver很可能是一个类。消息#selectors在类上实现,Behavior并返回类的实例方法的选择器。换句话说:类(或其任何子类)的实例理解列出的消息。

因此,如果您评估receiver expression,那么您将收到一条消息未理解异常,因为该消息#expression是在作为receiver变量值的类的实例上定义的。

于 2012-12-02T12:43:20.290 回答