• 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: ^Block statement considered harmful for callbacks?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ^Block statement considered harmful for callbacks?


  • Subject: Re: ^Block statement considered harmful for callbacks?
  • From: Oleg Krupnov <email@hidden>
  • Date: Thu, 25 Apr 2013 22:48:11 +0300


Yes, this is jumping through hoops, and even then you are not entirely safe. How about referencing ivars from blocks? How about referencing other objects that may in their turn reference self etc.? You have to keep it all in mind and constantly fight with the side-effects by adding more crappy hoops to your code. And it is a problem that does not even exist with delegates.

On Apr 25, 2013, at 8:29 PM, Jens Alfke <email@hidden> wrote:

>
> On Apr 25, 2013, at 9:54 AM, Lee Ann Rucker <email@hidden> wrote:
>
>> MyWeakRef *weakRef = [MyWeakRef weakRefFromObject:self];
>>
>> ^() = {
>>  Foo *wself = [weakRef originalObject];
>>  // wself may be nil, that's cool because we only want to doStuff if 'self' is still around.
>>  [wself doStuff];
>> }
>
> It's easier to just use the __weak attribute, if you're using ARC:
>
> __weak Foo *weakRef = self;
> ^() = {
> 	Foo *wself = weakRef;
> 	// wself may be nil, that's cool because we only want to doStuff if 'self' is still around.
> 	[wself doStuff];
> }
>
> Still, I think this is what Oleg called "jumping through hoops". You and I just don't think it's a very significant hoop :)
>
> —Jens
_______________________________________________

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


  • Follow-Ups:
    • Re: ^Block statement considered harmful for callbacks?
      • From: Tom Davie <email@hidden>
References: 
 >^Block statement considered harmful for callbacks? (From: Oleg Krupnov <email@hidden>)
 >Re: ^Block statement considered harmful for callbacks? (From: Tom Davie <email@hidden>)
 >Re: ^Block statement considered harmful for callbacks? (From: Oleg Krupnov <email@hidden>)
 >Re: ^Block statement considered harmful for callbacks? (From: Tom Davie <email@hidden>)
 >Re: ^Block statement considered harmful for callbacks? (From: Diederik Meijer | Ten Horses <email@hidden>)
 >Re: ^Block statement considered harmful for callbacks? (From: Tom Davie <email@hidden>)
 >Re: ^Block statement considered harmful for callbacks? (From: Oleg Krupnov <email@hidden>)
 >Re: ^Block statement considered harmful for callbacks? (From: Lee Ann Rucker <email@hidden>)
 >Re: ^Block statement considered harmful for callbacks? (From: Jens Alfke <email@hidden>)

  • Prev by Date: Re: ^Block statement considered harmful for callbacks?
  • Next by Date: Re: ^Block statement considered harmful for callbacks?
  • Previous by thread: Re: ^Block statement considered harmful for callbacks?
  • Next by thread: Re: ^Block statement considered harmful for callbacks?
  • Index(es):
    • Date
    • Thread