// As a local variable
returnType (^blockName)(parameterTypes) = ^returnType(parameters) {
// Block code here
};
NSUInteger (^name)(NSUInteger) = ^NSUInteger(NSUInteger max){
return 0;
};
name(2);
// As a property
@property (nonatomic, copy) returnType (^blockName)(parameterTypes);
@property(nonatomic,copy) void (^blockName)( NSInteger);
self.blockName = ....
// As a method parameter 函数声明
- (void)someMethodThatTakesABlock:(returnType (^)(parameterTypes))blockName {
// Block code here
};
-(void)someMethod:(NSUInteger (^)(NSString *)) blockName
{
}
// As an argument to a method call 函数调用
[someObject someMethodThatTakesABlock: ^returnType (parameters) {
// Block code here
}];
[self someMethod:^NSUInteger(NSString *name) {
return 0;
}];
// As a typedef
typedef returnType (^TypeName)(parameterTypes);
typedef void (^blockName) (NSString*);
TypeName blockName = ^(parameters) {
// Block code here
};
blockName bb = ^(NSString * parameterName)
{
};
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。