• 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: NSTableView retain count problem
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: NSTableView retain count problem


  • Subject: Re: NSTableView retain count problem
  • From: "Hank Heijink (Mailinglists)" <email@hidden>
  • Date: Sat, 21 Nov 2009 20:23:24 -0500

> @interface DataViewController : MainViewController {
> 	…
> 	NSMutableArray *records;
> }
>
> - (id) init
> {
> 	records = [[NSMutableArray alloc] init];
> }
>
> - (int) createDictionary
> {
> 	[records autorelease];

I'm assuming you're not using GC since you're looking at retain counts. So, why autorelease records here? Your records variable is going to be fine for the duration of this method, but as soon as your application goes through its main run loop and pops the autorelease pool, your records variable will have been released. Maybe that's what you're seeing with the retain count.

> 	// retain count for records at this point is 1.
>
> 	while (…) {
> 		[records addObject:currentLine];
> 	}
>
> 	[myTableView reloadData];
>
> 	// retain count for records at this point is 1.
> 	// records is not populated and returns the proper count.
>
> 	return [records count];
> }
>
>
> This method gets called before (when NSTableView is setup) and during
> createDictionary (where I populate my NSTableView) and always returns
> 0.
>
> - (int) numberOfRowsInTableView:(NSTableView *)tableView
> {
>    // retain count for records at this point is always 0.
>    return [records count];
> }

By the time this method gets called, chances are that you've been through the run loop and your records variable is gone. If your application doesn't crash, that's pure luck. Try NSZombieEnabled and set a bunch of breakpoints (Google NSZombieEnabled to see here) to see what's going on.

Hope this helps,
Hank

_______________________________________________

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: 
 >NSTableView retain count problem (From: Shane <email@hidden>)

  • Prev by Date: Re: NSTableView retain count problem
  • Next by Date: Re: method_getNumberOfArguments counts blocks twice
  • Previous by thread: Re: NSTableView retain count problem
  • Next by thread: Re: NSTableView retain count problem
  • Index(es):
    • Date
    • Thread