之前看别人源码的时候发现一种奇怪的写法
self.nameLabel = ({
UILabel * label = [[UILabel alloc]init];
[self.view addSubview:label];
label.font = [UIFont boldSystemFontOfSize:20];
label.textAlignment = NSTextAlignmentCenter;
label;
});
好奇之下网络搜了一波,千篇一律,只有简单的介绍.
- GCC (Code Block Evaluation C Extension)(以下简称GCC)语法十分优雅,它能够在局部初始UI以及处理逻辑,在团队协作中方便同事快速读懂你的UI布局。
- 不是GCC编译器或GCC指令。
- GCC布局UI,能够让代码变得更加干净,更加安全,更加简洁,能够在团队协作中发挥很大的作用。
补充一个三目运算符的优化写法:
NSLog(@"%@", @"a" ?: @"b"); // @"a"
NSLog(@"%@", nil ?: @"b"); // @"b"