In my program I have nested NSMutableArrays, i.e., each element in a root NSMutableArray is a NSMutableArray.

When I try to grab one of the element NSMutableArrays ......
NSMutableArray *copyOfCurrent = (NSMutableArray *) [[walkerArray objectAtIndex:lastNodeInCurrent] copy];//walkerArray is another NSMutableArray

As soon as I try to alter (insert an element for example) copyOfCurrent I get a "NSInternalInconsistencyException" with the message "mutating method sent to immutable object". It looks like either the objectAtIndex or the copy method is providing something immutable, not an NSMutableArray.

Any idea why that might be happening?

I was able to get around the problem by creating a new NSMutableArray and loading into it the contents of the immutable one like ..

NSMutableArray *copyOfCurrent = (NSMutableArray *) [[walkerArray objectAtIndex:lastNodeInCurrent] copy];
NSMutableArray *fixError = [[NSMutableArray alloc] init];
int k;
for (k = 0; k < [copyOfCurrent count]; k++)
{
        fixError[k] = copyOfCurrent[k];
}

But that seems hokey and I would like to understand the cause of the original issue.

Thanks;

Randy
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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