block用法學(xué)習(xí)

利用block傳值

1.要傳一個(gè)值給外界,則讓block作為參數(shù)

ps:在person.h中定義一個(gè)方法

?@property(nonatomic,strong) void(^block)();

-(void)eat:(void(^)(NSString *))block;?

在person.m中實(shí)現(xiàn)這個(gè)方法

-(void)eat:(void (^)(NSString *))block{

block(@"蘋果");

}

在外界調(diào)用

Person * p = [[Person alloc]init];

[p eat:^(NSString * s) {

NSLog(@"愛吃%@",s);

}];

這樣就把蘋果這個(gè)字符串由person傳到了外界

2.由外界傳值給person類,person類寫一個(gè)block作為返回值的方法

person.h

-(void(^)(int))run;

person.m

-(void (^)(int))run

{

return ^(int m){

NSLog(@"哥么跑起來(lái)了!!跑了%d",m);

};

}

外界調(diào)用

person *p = [[person alloc] init];

p.run(100);

由此,100即被傳入到了person類中

總結(jié):靈活使用block作為參數(shù)和返回值,可以靈活的傳值給需要傳遞的對(duì)象

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • iOS代碼塊Block 概述 代碼塊Block是蘋果在iOS4開始引入的對(duì)C語(yǔ)言的擴(kuò)展,用來(lái)實(shí)現(xiàn)匿名函數(shù)的特性,B...
    smile刺客閱讀 2,467評(píng)論 2 26
  • Block使用場(chǎng)景,可以在兩個(gè)界面的傳值,也可以對(duì)代碼封裝作為參數(shù)的傳遞等。用過(guò)GCD就知道Block的精妙之處。...
    Coder_JMicheal閱讀 816評(píng)論 2 1
  • 為什么很多內(nèi)置類如UITableView的delegate屬性都是assign而不是retain? 所有的引用計(jì)數(shù)...
    煙雨平生花飛舞閱讀 1,279評(píng)論 0 3
  • *面試心聲:其實(shí)這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個(gè)offer,總結(jié)起來(lái)就是把...
    Dove_iOS閱讀 27,616評(píng)論 30 472
  • 吹面不寒楊柳風(fēng) 昨晚補(bǔ)習(xí)班七點(diǎn)半就結(jié)束了,千年一遇?;氐郊茵I到發(fā)狂,此刻最幸福的事情就是媽媽坐在我的對(duì)面,看著我狼...
    瞞昧閱讀 95評(píng)論 6 1

友情鏈接更多精彩內(nèi)容