//
// block.h
// Block
//
// Created by tqh on 15/4/12.
// Copyright (c) 2015年 tqh. All rights reserved.
//
#import <Foundation/Foundation.h>
typedef void(^block1) (id obj);
typedef void(^block2)();
typedef NSInteger(^block3)();
@interface block : NSObject
//带参数
+ (void)initBlock1:(void(^)(id obj))block sum:(NSInteger)sum;
//typdef
+ (void)initBlock11:(block1)block sum:(NSInteger)sum;
//不带参
+ (void)initBlick2:(void(^)())block sum:(NSInteger)sum;
//typedef
+ (void)initBlock22:(block2)block sum:(NSInteger)sum;
+ (void)blockTest:(block2)block;
+ (void)initBlock3:(block3)block sum:(NSInteger)sum;
@end
//
// block.m
// Block
//
// Created by tqh on 15/4/12.
// Copyright (c) 2015年 tqh. All rights reserved.
//
#import "block.h"
@implementation block
+ (void)initBlock1:(void (^)(id))block sum:(NSInteger)sum{
NSString *str = @"返回字符串";
if (sum > 10) {
block(str);
}
}
+ (void)initBlock11:(block1)block sum:(NSInteger)sum{
NSString *str = @"返回字符串";
if (sum > 10) {
block(str);
}
}
+ (void)initBlick2:(void (^)())block sum:(NSInteger)sum{
if (sum > 10) {
block();
}
}
+ (void)initBlock22:(block2)block sum:(NSInteger)sum{
if (sum > 10) {
block();
}
}
+(void)blockTest:(block2)block
{
block();
}
+(void)initBlock3:(block3)block sum:(NSInteger)sum{
NSInteger index = block();
NSLog(@"%ld",index);
}
@end
//
// main.m
// Block
//
// Created by tqh on 15/4/12.
// Copyright (c) 2015年 tqh. All rights reserved.
//
/**
* block回调
*
* @param argc
* @param argv
*
* @return
*/
#import <Foundation/Foundation.h>
#import "block.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
[block initBlock1:^(id obj) {
NSLog(@"%@",obj);
} sum:9];
[block initBlock11:^(id obj) {
NSLog(@"%@",obj);
} sum:11];
[block initBlick2:^{
NSLog(@"block2");
} sum:9];
[block initBlick2:^{
NSLog(@"block22");
} sum:11];
[block blockTest:^{
NSLog(@"100");
}];
[block initBlock3:^NSInteger{
return 10000000;
} sum:10];
}
return 0;
}