On or about 11/30/09 11:33 AM, thus spake "David Duncan"
<[email protected]>:

> Your modifying an array that is being enumerated, which is illegal.

I thought of that, of course, but I doubted that could be the reason,
because I changed the code to look like this:

NSArray* arr = [NSArray arrayWithArray: myview.layer.sublayers];
for (CALayer* sub in arr)
   [sub removeFromSuperlayer];

and I still got the same crash. Enumerating thru arr with objectAtIndex:
causes no problem; it's the fast enumeration that's troublesome. m.

> On Nov 30, 2009, at 2:23 PM, Matt Neuburg <[email protected]> wrote:
> 
>> To remove all sublayers from a layer, it is sufficient to set that
>> layer's
>> sublayers property to nil, so this code is completely unnecessary.
>> But I'm
>> just curious as to why it doesn't work:
>> 
>> for (CALayer* sub in myview.layer.sublayers)
>>  [sub removeFromSuperlayer];
>> 
>> This crashes as if the fast enumeration itself were somehow illegal.
>> Why?
>> Thx -

-- 
matt neuburg, phd = [email protected], http://www.tidbits.com/matt/
pantes anthropoi tou eidenai oregontai phusei
Among the 2007 MacTech Top 25, http://tinyurl.com/2rh4pf
AppleScript: the Definitive Guide, 2nd edition
http://www.tidbits.com/matt/default.html#applescriptthings
Take Control of Exploring & Customizing Snow Leopard
http://tinyurl.com/kufyy8
RubyFrontier! http://www.apeth.com/RubyFrontierDocs/default.html
TidBITS, Mac news and reviews since 1990, http://www.tidbits.com



_______________________________________________

Cocoa-dev mailing list ([email protected])

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to