> On 2016 Dec 7, at 6:27, Carl Hoefs <newsli...@autonomy.caltech.edu> wrote: > >> >> On Dec 6, 2016, at 1:33 PM, Carl Hoefs <newsli...@autonomy.caltech.edu> >> wrote: >> >>> On Dec 6, 2016, at 1:24 PM, David Duncan <david.dun...@apple.com> wrote: >>> >>> Your safest bets are to either clear the delegate of the layer at an >>> appropriate time (possibly in your view controller’s dealloc is all that is >>> necessary), or to use a UIView instead of a raw CALayer in this case. >>> Removing the layer would also suffice, as that would prevent UIKit from >>> seeing it at the time in question. Making the layer weak is probably >>> causing your reference to deallocate before it can be added to the layer >>> tree, which is why it doesn’t display in that case. >> >> Thanks for this explanation, David! >> >> I've verified that using either of: >> [self.layer setDelegate:nil]; >> or >> [self.layer removeFromSuperlayer]; >> will prevent the crash. > > Followup: It turns out that the 'offending' line of code is: > > [self.layer setDelegate:self]; > > If I don't set this, everything still works correctly, and there's no crash > at dealloc time. > > -Carl > That sure looks like a circle until you remove something :) _______________________________________________
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