• 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: Memory Question on returning a View
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Memory Question on returning a View


  • Subject: Re: Memory Question on returning a View
  • From: Graham Cox <email@hidden>
  • Date: Sat, 7 Feb 2009 10:34:48 +1100


On 7 Feb 2009, at 8:13 am, James Cicenia wrote:

Hello -

I have the example code:

Can I do this.. return a view and it will stick around?

Thanks
James Cicenia


-(UIView *)mapViewForMonthAndType:(NSString *) pMonth type: (NSString) pType{
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];



NSEnumerator *itemEnum = [availabilityArray objectEnumerator];
AvailableItem *item = nil;

UIImageView *stateView = [[UIImageView alloc]initWithFrame:CGRectMake(0,0, 320, 220)];
[stateView setImage: [UIImage imageNamed:@"wf-map-back.png"]];


	return stateView;
}


By "the rules" this will leak 'stateView'.

Because this method name doesn't include 'new', 'copy', 'mutableCopy, or 'alloc' it means that the object returned is not owned by the caller. So it should be returning an autoreleased object. Because it's not autoreleased, it's leaking.

If the caller of this method "knows" that this is the case, and assumes ownership of the object, you've broken the rules (two wrongs don't make a right). The client would then be making an assumption about the implementation details that go beyond the common rules. Any code that uses this method would then also have to similarly break the rules to avoid the leak.

Review:

http://developer.apple.com/documentation/Cocoa/Conceptual/MemoryMgmt/MemoryMgmt.html

and in particular:

http://developer.apple.com/documentation/Cocoa/Conceptual/MemoryMgmt/Tasks/MemoryManagementRules.html#/ /apple_ref/doc/uid/20000994

--Graham




_______________________________________________

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: 
 >Memory Question on returning a View (From: James Cicenia <email@hidden>)

  • Prev by Date: Re: Full Screen Mode With MenuBar
  • Next by Date: Re: Memory Question on returning a View
  • Previous by thread: Memory Question on returning a View
  • Next by thread: Re: Memory Question on returning a View
  • Index(es):
    • Date
    • Thread