GCC 扩展语法
2016-01-06 本文已影响255人
cuagain
- 具有返回值的复合语句
复合语句是大括号包围的语句块,其返回值是复合语句中最后一个表达式的类型和值。例如:
int var = ({
int a = 10;
int b= 5;
a + b;
});
printf(".....%i.....",var);
平时项目中创建UI控件方式一般如下:
UITableView *tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, CGRectGetWidth(self.view.frame), CGRectGetHeight(self.view.frame)) style:UITableViewStyleGrouped];
tableView.dataSource = self;
tableView.delegate = self;
[self.view addSubview:tableView];
self.tableView = tableView;
如果写成复合语句的形式的话,可以改造如下:
self.tableView = ({
UITableView *tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, CGRectGetWidth(self.view.frame), CGRectGetHeight(self.view.frame)) style:UITableViewStyleGrouped];
tableView.dataSource = self;
tableView.delegate = self;
[self.view addSubview:tableView];
tableView;
});
使用上逻辑更为清晰明了。