Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: String memory leak





On 4/1/06 5:33 PM, "Peter Robinson" <email@hidden> wrote:

>> On 4/1/06 10:56 AM, "Peter Robinson" <email@hidden> wrote:
> 
>>> In other words, do this:
>>> 
>>> - (void)GLASS:(NSString *)parameterString
>>> {
>>>      [aSurface setGlass:[NSString stringWithFormat:
>>>          @"GLASS %@", parameterString]];
>>>      [aSurface setSurfaceNumber:surfaceNumber];
>>>      surfaceNumber++;
>>>      [surfaceArray addObject:aSurface];
>>>      [aSurface release];                   // <-----------
>>>      aSurface = [[ACSurface alloc]init];
>>> }
>> 
>> That is exactly what I thought but when I release aSurface as you show my
>> program crashes because the pointer in surfaceArray is corrupted.  Perhaps I
>> have another problem earlier in the code which is causing this problem.
> 
> You must have.  I suggest you check all the other places you are
> assigning to the aSurface instance variable (or -releasing,
> -autoreleasing or -retaining it).  This kind of problem is exactly why
> it's a good idea to isolate this stuff in a setter method as Andy
> suggests.
> 
> (I'm assuming surfaceArray is some kind of NSArray or similar.  If in
> fact it's your own code, the first place to look is in its -addObject:
> method.)

The surfaceArray object is simply an NSMutableArray, so that addObject
method is just the built in method for NSMutable Array.  I am obviously
doing something wrong so I guess it is time to go back and study the code
some more.

Thanks for all of the suggestions.

Bruce




 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/email@hidden

This email sent to email@hidden

References: 
 >Re: String memory leak (From: email@hidden (Peter Robinson))



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.