every time I have to use a global var or property inside a block like this:
self.save = ^(){ if (isItSaving == NO) { [self saveMyFile]; } };
Use __unsafe_unretained typeof(self) weakSelf = self;
__unsafe_unretained typeof(self) weakSelf = self;