Objective-C中block用法

来源:互联网 发布:淘宝网怎么找店主 编辑:程序博客网 时间:2024/05/16 18:46

1、 block做为方法内变量时:

returnType (^blockName)(parameterTypes) =    ^returnType(parameters) {...};  
//exampleNSString* (^doubleString)(NSString*) = ^NSString*(NSString* str){        return @"verygood";    };    NSString* test = doubleString(@"good");

2、block做为property时

@property (nonatomic, copy, nullability) returnType (^blockName)(parameterTypes);
//example @property (nonatomic,copy,nullable) NSString*    (^lastName)(NSString* fullname);  self.lastName = ^NSString*(NSString* para){            return @"verygood";        }; 

3、做为方法参数

- (void)someMethodThatTakesABlock:(returnType (^nullability)(parameterTypes))blockName;//该方法的调用[someObject someMethodThatTakesABlock:^returnType (parameters) {...}];
//example//defination- (void)someMethodThatTakesABlock:(NSString* (^)(NSString*))blockName{};//用法[self someMethodThatTakesABlock:^NSString*(NSString* str){        return @"";    }];

4、做为typedef

typedef returnType (^TypeName)(parameterTypes);TypeName blockName = ^returnType(parameters) {...};

block编程指南

0 0
原创粉丝点击