On 21 Apr 2014, at 21:09, Andy Lee <ag...@mac.com> wrote: > > The solution is to use a weak reference for one of the properties in the > cycle. In general, if one object conceptually "owns" the other, then the > "owning" object uses a weak reference and the "owned" object uses a strong > one. For example, a parent has weak references to its children, and the > children have strong references back to the parent. Similarly, a delegating > object has a weak reference to its delegate, which typically (though not > necessarily) has a strong reference back to the delegator.
Unless I'm being confused here by your wording. Your recommendation in relation to the parent child relationship is completely turned around from what Apple suggests: https://developer.apple.com/library/ios/releasenotes/objectivec/rn-transitioningtoarc/introduction/introduction.html See section: Use Lifetime Qualifiers to Avoid Strong Reference Cycles If you are recommending an alternative to what Apple suggests I'd be quite interested into hearing the reasons. Do you implement an array of weak references to a list of children? Kevin > These examples should be familiar from manual memory management. When > implementing the delegate pattern under retain/release, the recommended > practice is to have objects not retain their delegate, for the same reason of > avoiding retain cycles. _______________________________________________ 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: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com