iOS开发中addSubview的参数放在一个"({})"代码块中
今天在微博中看到南峰子_老驴微博分享的一个小技巧在此记录分享下
[self.view addSubview:({
UIView *view = [[UIView alloc]initWithFrame:(CGRect){100,200,200,100}];
view.backgroundColor = [UIColor redColor];
view;
})];
如上述的代码片段,通常我们是先创建一个视图再将这个视图添加到父类视图中,而上述的方法就是直接将要添加到父类的视图放在"({})"代码块中
这种写法沿用了GNU C的一个特性,即复合语句(compound statement)。即在"({})"代码块中,我们可以放置多个语句,这些语句可以是循环、分支、变量声明、函数调用等。而复合语句的最后一句是一个表达式,其作为整个复合语句的最终值。
使用复合语句可使得编写的代码更加优雅,查看各个视图控件更加的清晰整洁
网友评论