Swift之花括号

主要说一下,OC中有一个写法在swift中不能用,比如:

- (void)viewDidLoad {
[super viewDidLoad];
UILabel *l = [[UILabel alloc]init];

[self.view addSubview:l];
//区分变量的作用域
{
    [self.view addSubview:l];
}
}

OC中这么写不会出错,然而在swift中这么写就会报错:

Swift之花括号_第1张图片
屏幕快照 2017-05-25 上午9.52.53.png

这个错误就是原本 addsubview是没有参数的,但是系统会把下面的 {}当做参数,所以就会报错。
如果在 addsubview后面加个 ;,也会报错:

屏幕快照 2017-05-25 上午9.57.04.png

提示这是一个没有用的闭包, {}是定义函数的,OC中 {}是作用域,而swift中是定义函数的,所以这个就是一个没有参数没有返回值的函数,然后没有东西接它,所以报错。

你可能感兴趣的:(Swift之花括号)