block的作用
- block是塊,一般來說,在 block 中用的變量值是被複制過來的,所以對於變量本身的修改並不會影響這個變量的真實值。
- block封裝了一段代碼,可以在任何時候執行
- block可以作爲函數或者函數的返回值,而本身又可以帶輸入參數或返回值
- block在多線程,異步任務,集合遍歷,集合排序,動畫專場用得多
代碼示例
int main(int argc, char * argv[]) {
@autoreleasepool {
//void爲返回值
//(void)說明沒有傳參
void (^myBlock)(void) = ^{
NSLog(@"myBlock");
};
myBlock();//運行block
//定義一個求和block
//返回值爲int,參數爲兩個int
int (^sumBlock)(int, int) = ^(int x, int y){
return x + y;
};
int sum;
sum = sumBlock(1, 5);
NSLog(@"sum = %d", sum);
}
}