On Jan 8, 2012, at 1:35 AM, Matt Neuburg wrote: > On Wed, 04 Jan 2012 00:26:17 +0800, Roland King <[email protected]> said: >> I have this line of code, just before a block is enqueued onto a dispatch >> queue. weakSelf is used in that block. >> >> RKHIPCard __weak *weakSelf = self; >> >> which is generating the following error >> >> objc[15245]: cannot form weak reference to instance (0x89b4100) of >> class RKHIPCard >> >> in certain very occasional circumstances. A bit of logging and it's clear >> that those circumstances are when the RKHIPCard, self, is in the middle of >> being deallocated. > > Watch the WWDC 2011 video again; you're explicitly told that this is exactly > why the weak-strong dance includes a nil test against the strong self inside > the block. m. >
Not the same situation at all. This is all about the runtime disallowing making weak references during dealloc, not testing whether the weak reference is nil. Anyway this thread continued with a fruitful (no pun intended) discussion with an Apple engineer who asked me to rdar it once I'd expanded on the use case. _______________________________________________ Cocoa-dev mailing list ([email protected]) 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]
