Re: File Extensions Problem
Re: File Extensions Problem
- Subject: Re: File Extensions Problem
- From: Uli Kusterer <email@hidden>
- Date: Fri, 29 Aug 2008 10:55:58 +0200
On 29.08.2008, at 02:12, Graham Cox wrote:
Well, that was me. But I do see the error of my ways... I guess it
was Michael Ash's comment that NSArray *could* change its storage
half way through enumeration (if the collection were mutated) that
woke me up. I suspect it would only do this if the collection
dramatically changed in size but clearly that wouldn't be something
to rely on. I checked my own code to make sure I wasn't following my
own "advice" anywhere and turns out I've never done it without
making a copy anyway.
One other reason why this is dangerous is that NSArray isn't
guaranteed to be a plain C-style array, internally.
NSArray is a very abstractly defined collection class. It gives you
some performance guarantees for its operations, but beyond that it may
choose any implementation it wishes. So, it could actually implement
itself as a tree, or a linked list, or a simple C array of
pointers, ... or hamsters in a box, for all we care. It could even
store the array backwards internally, which would mean that every
removal from the end changes all the pointers, while removal from the
start would be safe.
Cheers,
-- Uli Kusterer
"The Witnesses of TeachText are everywhere..."
http://www.zathras.de
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden