//1)無參無返回值的blockspa
//格式:指針
// 定義block變量code
// 返回值類型 (^block變量名)(形參類型列表);orm
// 定義block類型而且賦值變量
// 返回值類型 (^block變量名)(形參類型列表)= ^(形參列表){代碼塊;};數據類型
// 形式1: void(^block變量名)() = ^(){};數據
// 形式2: void(^block變量名)() = ^{};margin
// 定義變量top
void (^sbblock)();co
void (^sb1)() = ^() {
NSLog(@"haha");
};
void (^sb2)() = ^{
NSLog(@"22");
};
// 執行block
// 格式:block變量名(實參)
// sbblock(); EXC_BAD_ACCESS(code=1,) 野指針訪問報錯,由於sbblock沒有初始化。
sb1();
sb2();
// 2)有參無返回值的block
// 形參列表的格式: 數據類型 變量名
void (^myblock1)(int a); //定義一個無返回值有一個參數的block變量,變量名爲mblock1;
myblock1 = ^(int a) {
NSLog(@"a = %d",a);
};
myblock1(2);
// 3)有參數有返回值的block
int (^myblock2)(int a, int b) = ^(int a, int b){
return a+b;
};
// 執行block而且接收返回結果
int sum = myblock2(20,34);
NSLog(@"%d",sum);