1.深入研究Block用weakSelf、strongSelf、@weakify、@strongify解決循環(huán)引用
2.Objective-C 中涉及到的Block的寫法:
局部變量returnType?(^blockName)(parameterTypes) = ^returnType(parameters) {...};
作為屬性(property)@property (nonatomic, copy)?returnType?(^blockName)(parameterTypes);
作為方法參數(shù):- (void)someMethodThatTakesABlock:(returnType?(^)(parameterTypes))blockName;
作為方法調(diào)用的參數(shù):[someObject someMethodThatTakesABlock:^returnType?(parameters) {...}];
自定義?typedef:typedef?returnType?(^TypeName)(parameterTypes);TypeName?blockName = ^returnType(parameters) {...};
3.Swift 中Block解除循環(huán)引用的寫法:
someQueue.async { [weak self] in
? ? ? ? ? ? guard let ss = self else {
?? ? ? ? ? ? ? ?return
? ? ? ? ? ? }
}