之前看別人源碼的時(shí)候發(fā)現(xiàn)一種奇怪的寫法
self.nameLabel = ({
UILabel * label = [[UILabel alloc]init];
[self.view addSubview:label];
label.font = [UIFont boldSystemFontOfSize:20];
label.textAlignment = NSTextAlignmentCenter;
label;
});
好奇之下網(wǎng)絡(luò)搜了一波,千篇一律,只有簡(jiǎn)單的介紹.
- GCC (Code Block Evaluation C Extension)(以下簡(jiǎn)稱GCC)語(yǔ)法十分優(yōu)雅,它能夠在局部初始UI以及處理邏輯,在團(tuán)隊(duì)協(xié)作中方便同事快速讀懂你的UI布局车吹。
- 不是GCC編譯器或GCC指令十电。
- GCC布局UI,能夠讓代碼變得更加干凈,更加安全,更加簡(jiǎn)潔,能夠在團(tuán)隊(duì)協(xié)作中發(fā)揮很大的作用。
補(bǔ)充一個(gè)三目運(yùn)算符的優(yōu)化寫法:
NSLog(@"%@", @"a" ?: @"b"); // @"a"
NSLog(@"%@", nil ?: @"b"); // @"b"