iOS Block 相关

1.深入研究Block用weakSelf、strongSelf、@weakify、@strongify解决循环引用

http://ios.jobbole.com/88708/

2.Objective-C 中涉及到的Block的写法:

局部变量returnType (^blockName)(parameterTypes) = ^returnType(parameters) {...};

作为属性(property)@property (nonatomic, copy) returnType (^blockName)(parameterTypes);

作为方法参数:- (void)someMethodThatTakesABlock:(returnType (^)(parameterTypes))blockName;

作为方法调用的参数:[someObject someMethodThatTakesABlock:^returnType (parameters) {...}];

自定义 typedef:typedef returnType (^TypeName)(parameterTypes);TypeName blockName = ^returnType(parameters) {...};

3.Swift 中Block解除循环引用的写法:

someQueue.async { [weak self] in

            guard let ss = self else {

                return

            }

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。