FROM : Randy
DATE : Sun Nov 16 06:56:00 2008
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
DATE : Sun Nov 16 06:56:00 2008
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
| Related mails | Author | Date |
|---|---|---|
| Randy | Nov 16, 06:56 | |
| Nathan Kinsinger | Nov 16, 07:11 |






Cocoa mail archive

