__weak typeof (self) weakSelf = self; void (^const block)(void) = ^{ typeof (self) const strongSelf = weakSlef; if (!strongSelf) { return }; };