I know there are a few ways to do this. But I want to check that the way I have done it isn't causing a leak.

I have a block in my project (using ARC) and to prevent a retain cycle I have done the following

```
 id __block blockSelf = self;

```

and then inside the block replaced self with blockSelf. Is this a good coding practice

Cheers