• 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: Core Data and retain count
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Core Data and retain count


  • Subject: Re: Core Data and retain count
  • From: Bill <email@hidden>
  • Date: Sun, 2 Mar 2008 19:50:05 -0800

On Mar 2, 2008, at 5:35 PM, Ben Trumbull wrote:
My question is, why would changing a property value cause another
property to have its retain count increase?

No idea. Why don't you run it in gdb and break on the -retain method and get some stack traces ?
This works best if the class you're debugging (in this case the value window controller) has a custom retain/release method that you can break on instead of NSObject's etc. If it doesn't, you can trivially make one by adding a category on it and putting -retain/- release/-autorelease methods on it that simply call super.

Good idea. Here's the stack trace:
#0 0x000029aa in -[NSWindowController(MainWindow) retain] at MainWindowController.m:35
#1 0x92dfa378 in -[NSManagedObject(_NSInternalMethods) _newPropertiesForRetainedTypes:andCopiedTypes:preserveFaults:]
#2 0x92dfa250 in -[NSManagedObject(_NSInternalMethods) _allProperties]
#3 0x92dfa185 in -[NSManagedObjectContext(_NSInternalChangeProcessing) _establishEventSnapshotsForObject:]
#4 0x92dfd516 in _PFFastMOCObjectWillChange
#5 0x92dfb4e3 in -[NSManagedObject willChangeValueForKey:]
#6 0x00021a6c in -[Window setOpenAtLaunch:] at Window.m:117


Not sure what to make of it, nor why setting the property openAtLaunch increments the retain count for the window controller property.


So by the time the user wants to delete a managed object from the list, the window controller could have a high
value and is never released!

This sounds like a hypothetical concern as opposed to an empirically observed leak. Each retainer is obliged to balance itself out eventually. That's not your problem. Generally speaking, the retain count is an implementation dependent value and not really meaningful API.

I made the statement because I have an NSLog statement in the window controller dealloc method. It never gets executed unless the retain count is 0.


Thanks,
Bill

_______________________________________________

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: 
 >re: Core Data and retain count (From: Ben Trumbull <email@hidden>)

  • Prev by Date: Re: Issue about cocoa Multi-document template
  • Next by Date: Re: Subview bounds resizing when frame resizes
  • Previous by thread: re: Core Data and retain count
  • Next by thread: Re: Core Data and retain count
  • Index(es):
    • Date
    • Thread