日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Block

發(fā)布時間:2023/12/20 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Block 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Block

Block類型

無參數(shù)無返回值

block自己不會執(zhí)行,必須調(diào)用才會執(zhí)行block大括號里的代碼段

void (^block)() = ^(){NSLog(@"無參數(shù)");};block();

結果

2015-07-28 20:06:56.839 OC10_Block[3182:202852] 無參數(shù)

無參數(shù)有返回值

有返回值在最后段要加上return

int (^block)() = ^(){return 100;}; // 沒有參數(shù)也要加上括號NSLog(@"%d",block());

結果:

2015-07-28 20:08:18.328 OC10_Block[3214:203801] 100

有參數(shù)無返回值

void (^)(int ,int )是block的類型,它的名是block,我們也通過名進行調(diào)用

void (^block1)(int ,int ) = ^(int a,int b){NSLog(@"%d",a + b);};// 調(diào)用block1(10,20);

結果:

2015-07-28 20:10:12.211 OC10_Block[3251:205047] 30

有參數(shù)有返回值

int (^block)(int,int) = ^(int a,int b){return a + b;};NSLog(@"%d",block(10,20));

結果:

2015-07-28 20:11:17.154 OC10_Block[3274:205787] 30

block與局部變量

// block和局部變量// __block相當于一個在block中修改的權限,否則它只能取值,不能賦值__block int a = 10;void (^block)() = ^(){a = 10 * a;NSLog(@"%d",a);};block();

小練習

參數(shù):日期的字符串,返回:NSDate類型的日期對象

NSDate *(^block)(NSString *) = ^(NSString *str){NSDateFormatter *formatter = [[NSDateFormatter alloc] init];[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];return [formatter dateFromString:str];};NSLog(@"%@",block(@"2015-07-28 12:12:12"));

通過block對數(shù)組進行遍歷

NSArray *arr = [NSArray arrayWithObjects:@"1",@"2",@"3",@"4",@"5",@"6", nil];// 系統(tǒng)的block[arr enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {NSLog(@"%@",obj);}];

總結

以上是生活随笔為你收集整理的Block的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。