_weak typeof(self) weakSelf = self;
创建block匿名函数之前一般需要对self进行weak化,否则造成循环引用无法释放controller:
__weak MyController *weakSelf = self
或者 __weak __typeof(self) weakSelf = self;
typeof构造中的类型名不能包含存储类说明符,如extern或static。不过允许包含类型限定符,如const或volatile。