I have an application that allows users to create relationships between certain objects. For instance, there are scene objects and actor objects (like in a movie). The user can add multiple actors to a scene and an actor can participate in multiple scenes. A classic many- to-many relationship. This is implemented using NSMutableArrays in each object. An actor has a scenesForActor mutableArray and a scene has an actorsForScene mutableArray. This all works great except that it creates retain cycles and neither actor nor scene objects are ever released if they have a relationship.

It seems that what I need is a non-retaining array. I googled around a bit and was surprised that I could not find an existing implementation. It looks like I can create one by subclassing NSMutableArray, overriding the primitive methods, and using a CFArray as the backing store with NULL callbacks to avoid any kind of retain or release when objects are added or removed. Still, I thought I would ask around and see if anyone else has done this before I embark on trying to subclass a class cluster.

Has anyone out there created a non-retaining array class or come up with another solution to this problem? Or is there anything in particular I should watch out for when subclassing NSMutableArray?

thanks,
Todd Ransom
Return Self Software
http://returnself.com



_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to