main.m函數
//spa
// main.mcode
// 8A10.Block的複習blog
//io
// Created by huan on 16/2/8.class
// Copyright © 2016年 huanxi. All rights reserved.test
//import
#import <Foundation/Foundation.h>gc
//函數定義方法
void test(){
}
int sum(int a, int b){
return a + b;
}
int main(int argc, const char * argv[]) {
@autoreleasepool {
// insert code here...
//複習block
//什麼是block 就一個代碼塊
//block和函數與什麼區別
//1.函數只能在方法外面定義
//2.block能夠定義在方法內,也能夠定義在方法外面
//3.block和函數共同點:都有返回值和參數
//block定義
//無返回值 無參數的block
void(^testBlock)() = ^{
NSLog(@"無返回值 無參數的block");
};
testBlock();
//無返回值 有參數的block
void(^test2Block)(int) = ^(int a){
NSLog(@"你傳入的是%d", a);
};
test2Block(2);
//有返回值,有參數的block
int(^sumBlock)(int,int) = ^(int a,int b){
return a + b;
};
int result = sumBlock(2,3);
NSLog(@"經過block的計算,結果是:%d", result);
//有返回值,無參數的blcok
//block可重定義 typedef
typedef void (^MTestBlock)();
// 給無返回值,無參數的blcok進行- 自定義
MTestBlock mtestBlcok = ^(){
NSLog(@"重定義的block");
};
mtestBlcok();
//定義一個特殊操做的blcok
typedef void (^OperationBlock)();
OperationBlock operationBlock = ^(){
NSLog(@"正在檢查的版本更新");
};
operationBlock();
NSLog(@"Hello, World!");
}
return 0;
}
結果