Block應用場景:當發現代碼的前面和后面都是一樣的時候, 中間不一樣,這個時候就可以使用block來作為參數代替中間的代碼。
main.m
#import <Foundation/Foundation.h>
// 當發現代碼的前面和后面都是一樣的時候, 這個時候就可以使用block
void goToWork(void (^workBlock)())
{
NSLog(@"起床");
NSLog(@"穿衣服");
NSLog(@"洗漱");
NSLog(@"喝早茶");
NSLog(@"駕車去上班");
// 不一樣
workBlock();
NSLog(@"收拾東西");
NSLog(@"駕車回家");
NSLog(@"吃晚飯");
NSLog(@"洗澡");
NSLog(@"睡覺");
}
void goToWorkInDay1()
{
goToWork(^{
NSLog(@"認識新同事");
});
}
void goToWorkInDay2()
{
goToWork(^{
NSLog(@"熟悉公司代碼");
});
}
void goToWorkInDay3()
{
goToWork(^{
NSLog(@"開始編寫代碼");
});
}
void goToWorkInDay4()
{
goToWork(^{
NSLog(@"應用程序上架");
});
}
int main(int argc, const char * argv[]) {
goToWorkInDay2();
return 0;
}