Using blocks with ARC just requires more discipline, that's all. It isn't
to be avoided, just carefully thought about at the appropriate times.


On Thu, Apr 25, 2013 at 6:07 AM, Oleg Krupnov <oleg.krup...@gmail.com>wrote:

> The compiler indeed warns, but only for ARC projects, and for non-ARC
> projects it perfectly allows blocks to create retain cycles without
> any warnings, even Xcode's Analyze doesn't help.
>
> Besides, I'm afraid the compiler is not always capable to detect all
> such dangerous situations even with ARC on.
>
> So I am afraid it ends up with lots of retain cycles in virtually
> every project that uses blocks, but programmers just don't notice
> and/or just don't care. Do you often check your projects for leaks of
> this kind? You will be surprised if you do try.
>
> My point remains: blocks are dangerous and there is no easy way to
> ensure they are safe. You can't avoid referencing "self" in blocks,
> because it is the very point of almost every callback block. So you
> have to every time to remind yourself to jump through hoops to avoid
> the retain cycles. Nah.
>
>
>
> On Thu, Apr 25, 2013 at 1:45 PM, Tom Davie <tom.da...@gmail.com> wrote:
> >
> > On 25 Apr 2013, at 11:40, Diederik Meijer | Ten Horses <
> diede...@tenhorses.com> wrote:
> >
> >> I don't agree, blocks are very powerful.
> >>
> >> I am using Xcode 4.6 and in a project that uses ARC it was throwing
> warnings when a block reference to a property caused a retain cycle. This
> is how I found it and why I mentioned it in another thread in the first
> place.
> >>
> >> I haven't tested it extensively, but it looks as if the compiler
> recognises these situations easily and then tells you about it.
> >>
> >> So I wouldn't call blocks dangerous at all…
> >
> > You're right – the compiler *is* detecting some simple cases, as I
> suggested!  Note – this does not make throwing blocks around without paying
> attention to retain cycles inherently safe though, the compiler can not
> statically infer all potential cycles.
> >
> > Thanks
> >
> > Tom Davie
>
> _______________________________________________
>
> 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/sbdegutis%40gmail.com
>
> This email sent to sbdegu...@gmail.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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to