// 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 函數(shù)聲明
- (void)someMethodThatTakesABlock:(returnType (^)(parameterTypes))blockName {
// Block code here
};
-(void)someMethod:(NSUInteger (^)(NSString *)) blockName
{
}
// As an argument to a method call 函數(shù)調(diào)用
[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)
{
};
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者