Block結合typedef使用

這里舉例一個Block回調(diào)修改上一下界面的背景顏色。

ViewController1 控制器1,ViewController2 控制器2

控制器1跳轉到控制器2,然后在控制器2觸發(fā)事件回調(diào)修改控制器1的背景顏色為紅色。

ViewController2的實現(xiàn)

#import

@interface ViewController2 : UIViewController

/**

*? 定義了一個changeColor的Block。這個changeColor必須帶一個參數(shù),這個參數(shù)的類型必須為id類型的

*? 無返回值

*? @param id

*/

typedef void(^changeColor)(id);

/**

*? 用上面定義的changeColor聲明一個Block,聲明的這個Block必須遵守聲明的要求。

*/

@property (nonatomic, copy) changeColor backgroundColor;

@end

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{

//聲明一個顏色

UIColor *color = [UIColor redColor];

//用剛剛聲明的那個Block去回調(diào)修改上一界面的背景色

self.backgroundColor(color);

}

ViewController1的實現(xiàn)

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{

ViewController2 *vc =[[ViewController2 alloc]init];

// 回調(diào)修改顏色

vc.backgroundColor = ^(UIColor *color){

self.view.backgroundColor = color;

};

[self.navigationController pushViewController:vc animated:YES];

}

著作權歸作者所有。商業(yè)轉載請聯(lián)系作者獲得授權,非商業(yè)轉載請注明出處。

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

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

  • iOS學習-(1)block的使用和注意 本文簡介 本文主要介紹1.block的基本使用 ...
    一片楓葉隨風舞閱讀 431評論 0 0
  • VLC的集成和使用 VLC介紹 VLC Media Player (VideoLAN) 為 Windows、Lin...
    Pocket閱讀 20,385評論 75 66
  • 在iOS中隨處都可以看到絢麗的動畫效果,實現(xiàn)這些動畫的過程并不復雜,今天將帶大家一窺iOS動畫全貌。在這里你可以看...
    F麥子閱讀 5,274評論 5 13
  • 在iOS中隨處都可以看到絢麗的動畫效果,實現(xiàn)這些動畫的過程并不復雜,今天將帶大家一窺ios動畫全貌。在這里你可以看...
    每天刷兩次牙閱讀 8,698評論 6 30
  • 代碼創(chuàng)建UIWindow對象 Xcode7之后使用代碼創(chuàng)建UIWindow對象: //創(chuàng)建UIWindow對象 s...
    云之君兮鵬閱讀 1,504評論 0 2

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