OC--鏈?zhǔn)骄幊趟枷?/h2>

1.block 基本使用是控制器之間的通訊使用。
2.block 高級(jí)使用則是,作為鏈?zhǔn)骄幊虂?lái)使用, Masonry 是典型的鏈?zhǔn)骄幊?,響?yīng)試編程則是RAC。
簡(jiǎn)單Dome,person類
//person.h
1.1 block定義,控制器之間的通訊如下 ,block 作為屬性
/*
--單純的屬性block。
*/
@property (nonatomic,strong) void(^blocktext1)();

//實(shí)現(xiàn)block
Person *p = [[Person alloc] init];
//建議使用第一種方式,簡(jiǎn)單快捷!系統(tǒng)直接給你生成
[p setBlocktext1:^{

}];
p.blocktext1 = ^{
   
};

1.2typedef定義block ,block作為函數(shù)參數(shù)
/*
typedef 定義,以下全部使用
*/
typedef void (^blocktypeNull) ();
typedef void (^blocKtypePar) (NSInteger age,NSString *name);
typedef int (^blocktypeReturn)();

/*
--block作為函數(shù)參數(shù)----
/
/
1.<block無(wú)參數(shù)的函數(shù)*/

  • (void)Textblocks:(blocktypeNull ) block;
    /* 2.<block帶參數(shù)的函數(shù)*/

  • (void)textblocksPar:(blocKtypePar) Detailpar;
    /* 2.<block帶返回值*/

  • (void)textblockReturn:(int (^)(int age)) returnpar;

  • (void)testblockreturn:(blocktypeReturn) testblock;
    /*
    --block 做為函數(shù)返回值----
    */

/* 1.<block作為函數(shù)返回值 無(wú)參數(shù)*/

  • (blocktypeNull) TextonereturnPar;
    /* 2.<block作為函數(shù)返回值 有參數(shù)*/
  • (blocKtypePar) textTowReturnPar;
    /* 3.<block作為函數(shù)有回值 有參數(shù)*/
  • (blocktypeReturn) TextThessReturnPar;

-----<Person.m>
-(void)Textblocks:(blocktypeNull)block{
block();
}

  • (void)testblockreturn:(blocktypeReturn)testblock{

    int age = testblock();
    NSLog(@"%d",age);

}

  • (void)textblockReturn:(int (^)(int age))returnpar{
int a =  returnpar(40);
NSLog(@"%d",a);

}
-(void)textblocksPar:(blocKtypePar)Detailpar{
if (Detailpar != nil) {
NSInteger Age = 22;
NSString *name = @"Ray";
Detailpar(Age,name);

}

}

  • (blocKtypePar)textTowReturnPar{
return ^(NSInteger age ,NSString *name){
    NSLog(@"age = %ld",age);
    NSLog(@"name = %@",name);
    
};

}

  • (blocktypeNull)TextonereturnPar{
return ^(){
    
    NSLog(@"無(wú)參數(shù)的 函數(shù)block");
};

}

  • (blocktypeReturn)TextThessReturnPar{
return ^int(){
    return 30;
    
};

}
VIewController控制器 實(shí)現(xiàn)方法
Person *p = [[Person alloc] init];
[p Textblocks:^{

    NSLog(@"無(wú)參數(shù)無(wú)返回值");

}];

[p textblocksPar:^(NSInteger age, NSString *name) {
    NSLog(@"%ld%@",age,name);
}];


[p textblockReturn:^int(int age) {

    return  age;
}];

[p  testblockreturn:^int{
    NSLog(@"進(jìn)來(lái)了");
    return 30;
}];

//鏈?zhǔn)骄幊?br> p.textTowReturnPar(10,@"20");//在這里全部都是調(diào)用
p.TextonereturnPar();
int a = p.TextThessReturnPar();

最后編輯于
?著作權(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)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • iOS代碼塊Block 概述 代碼塊Block是蘋(píng)果在iOS4開(kāi)始引入的對(duì)C語(yǔ)言的擴(kuò)展,用來(lái)實(shí)現(xiàn)匿名函數(shù)的特性,B...
    smile刺客閱讀 2,468評(píng)論 2 26
  • Block使用場(chǎng)景,可以在兩個(gè)界面的傳值,也可以對(duì)代碼封裝作為參數(shù)的傳遞等。用過(guò)GCD就知道Block的精妙之處。...
    Coder_JMicheal閱讀 824評(píng)論 2 1
  • 2.1 Blcoks概要 2.1.1 什么是Blocks Blocks是C語(yǔ)言的擴(kuò)充功能——“帶有自動(dòng)變量(即局部...
    SkyMing一C閱讀 2,455評(píng)論 6 18
  • 初為人父人母,喜悅中有著一些懵懂。這么小的人兒,以后要管我叫媽媽,我得管他所有的事。直至他成年。不懂怎么做父母,就...
    底氣自帶香氣閱讀 314評(píng)論 0 1
  • 路有死蟬, 曝尸豐年。 風(fēng)露為食, 蟲(chóng)蟻分餐。 熾火焚體, 仰天長(zhǎng)眠。 昔有宵小, 謂君知了。 知人甚多, 知己最...
    ptjiang閱讀 523評(píng)論 2 2

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