• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: using copy in nested NSMutableArrays gives immutable objects?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: using copy in nested NSMutableArrays gives immutable objects?


  • Subject: Re: using copy in nested NSMutableArrays gives immutable objects?
  • From: Nathan Kinsinger <email@hidden>
  • Date: Sat, 15 Nov 2008 23:11:25 -0700

On Nov 15, 2008, at 10:56 PM, Randy wrote:

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

-copy returns an immutable object (as you found out), -mutableCopy is what you want.


--Nathan
_______________________________________________

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


References: 
 >using copy in nested NSMutableArrays gives immutable objects? (From: Randy <email@hidden>)

  • Prev by Date: using copy in nested NSMutableArrays gives immutable objects?
  • Next by Date: Re: Finder's sidebar background color
  • Previous by thread: using copy in nested NSMutableArrays gives immutable objects?
  • Next by thread: Archiving NSError
  • Index(es):
    • Date
    • Thread