iOS开发中addSubview的参数放在一个"({})"代码块中

iOS开发中addSubview的参数放在一个"({})"代码块中

今天在微博中看到南峰子_老驴微博分享的一个小技巧在此记录分享下

[self.view addSubview:({

    UIView *view = [[UIView alloc]initWithFrame:(CGRect){100,200,200,100}];
    
    view.backgroundColor = [UIColor redColor];
    
    view;
})];

如上述的代码片段,通常我们是先创建一个视图再将这个视图添加到父类视图中,而上述的方法就是直接将要添加到父类的视图放在"({})"代码块中

这种写法沿用了GNU C的一个特性,即复合语句(compound statement)。即在"({})"代码块中,我们可以放置多个语句,这些语句可以是循环、分支、变量声明、函数调用等。而复合语句的最后一句是一个表达式,其作为整个复合语句的最终值。

使用复合语句可使得编写的代码更加优雅,查看各个视图控件更加的清晰整洁

你可能感兴趣的:(iOS开发中addSubview的参数放在一个"({})"代码块中)