Hi Erik!

NSArray, when instanciated, becomes the equivalent of a ruby array, see for 
yourself with macirb:
>> a = NSArray.alloc.init
=> []
>> a.class
=> Array

However, you are right, it might need to become frozen, because otherwise, this 
happens:
>> a << "MacRuby"
2010-02-15 11:57:08.766 macruby[98594:903] -[__NSArray0 addObject:]: 
unrecognized selector sent to instance 0x20022e820
uncaught Objective-C/C++ exception...
2010-02-15 11:57:08.795 macruby[98594:903] *** Terminating app due to uncaught 
exception 'NSInvalidArgumentException', reason: '-[__NSArray0 addObject:]: 
unrecognized selector sent to instance 0x20022e820'

And this is not really what we want :-)

Laurent, what were your plans about that? Should we modify NSArray.m and use an 
NSMutableArray, or should we freeze NSArray instances?

-- 
Thibault Martin-Lagardette



On Feb 14, 2010, at 16:29, Erik Ă–sterlund wrote:

> Hello.
> 
> This is just a thought, but shouldn't for instance NSArray.alloc.init.frozen? 
> return true, as it is immutable and cannot be changed? It is like a frozen 
> version of NSMutableArray, isn't it?
> It's a bit confusing when asking an immutable Foundation object if it is 
> frozen, and it says no...
> On the other hand, I suppose it's possible to create categories that add 
> behavior that somehow modifies the object.
> 
> Any thoughts on this?
> 
> Thanks.
> _______________________________________________
> MacRuby-devel mailing list
> [email protected]
> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel

_______________________________________________
MacRuby-devel mailing list
[email protected]
http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel

Reply via email to