This looks a bit like a technique [I blogged about](http://myronmars.to/n/dev-blog/2012/10/using-closures-to-avoid-leaking-state) :).  I'm comfortable with using a pre-declared local here, but others might find it confusing...and the sorts of reasons I would usually favor this technique over ivars (i.e. limiting the number of variables that "leak" into an including context) don't really apply here.  I think the instance variable version recommended by @dchelimsky is more easily readable by more people.