Swift之花括号

2017-05-25  本文已影响53人  oh_flying

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

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

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

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

屏幕快照 2017-05-25 上午9.52.53.png
这个错误就是原本addsubview是没有参数的,但是系统会把下面的{}当做参数,所以就会报错。
如果在addsubview后面加个;,也会报错: 屏幕快照 2017-05-25 上午9.57.04.png
提示这是一个没有用的闭包,{}是定义函数的,OC中{}是作用域,而swift中是定义函数的,所以这个就是一个没有参数没有返回值的函数,然后没有东西接它,所以报错。
上一篇 下一篇

猜你喜欢

热点阅读