Tutorial Beta!

Chris Muller asqueaker at gmail.com
Wed Dec 12 03:39:07 UTC 2007


> If not how can I get my dictionaries to behave just like normal ones?
>
> The problem that I am seeing is that when the special code for
> Dictionaries is attempting to convert all of the oid-keys and oid-values
> to real objects.... they are already real objects!

If you're not adding any inst-vars I think it should work.

If it's not working I think you've identified how to track it down
above..  The messages used to convert the Dictionary from its
oid-representation to its object-representation; which happens in
#maEstablishPointerReferencesUsing:, are the ones that need to be
transparently supported by your subclass:

  #maRemoveAll
  #keysAndValuesDo:
  #at:put:

Dictionary subclasses inherits all of these, of course, but if a
particular subclass is so special that something extra is needed then
something extra would be needed.

They should not *already* be real objects at that point, if they are
then something else must've gone wrong..

Regards,
  Chris


More information about the Magma mailing list