iOS block樣本,iosblock樣本
//// 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;}