国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設(shè)計 > 正文

閉包(block)

2019-11-14 18:17:59
字體:
供稿:網(wǎng)友

block主要解決反向傳值和傳值問題

1.block申明的公式       返回值類型 (^名字)(參數(shù)列表);

2.block實現(xiàn)的公式       名字= ^(參數(shù)列表){};

3.局部變量                  定義一個圖片的名字的block

void (^imageNameBlock)(NSString *imageName);//申明

__block UIImage *image; //iamge == nil 如果想修改外部變量的值 需添加__block修飾  也就是說如果要在block內(nèi)部改變外部變量的狀態(tài)時,需要使用__block修飾

4.實現(xiàn)block

imageNameBlock = ^(NSString *imageName){//實現(xiàn)

        image = [UIImage imageNamed:imageName];

        self.view.backgroundColor = [UIColor colorWithPatternImage:image];

    };

5.調(diào)用block

imageNameBlock(@"photo.png");//調(diào)用

 

反向傳值:

1.在需要傳值的類里面寫block,即聲明

@PRoperty (nonatomic,copy)void (^block)(NSString *content);//block是分配在棧里面的,不需要程序員管理內(nèi)存

2.需要接收值的地方實現(xiàn)block

 NextViewController *nextView = [[NextViewController alloc]init];

    nextView.block = ^(NSString *content){

        NSLog(@"%@",content);

        labelTextBlock(content);

    };

3.在需要傳送值的地方  調(diào)用block

block(@"sfasfaklgjgjkdsjkns");

 

 

 

 


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 米脂县| 罗城| 丰台区| 泰兴市| 九江县| 洛扎县| 洞口县| 沐川县| 云林县| 友谊县| 巫溪县| 林西县| 岳西县| 南汇区| 四会市| 原平市| 富源县| 穆棱市| 南投市| 福安市| 喀喇沁旗| 海盐县| 乐昌市| 太仆寺旗| 河池市| 抚顺市| 宝清县| 钟山县| 徐汇区| 安多县| 涿州市| 安塞县| 太白县| 乌拉特后旗| 离岛区| 澄迈县| 泾川县| 衡阳县| 新疆| 玉屏| 五华县|