主要说一下,OC中有一个写法在swift中不能用,比如:
- (void)viewDidLoad {
[super viewDidLoad];
UILabel *l = [[UILabel alloc]init];
[self.view addSubview:l];
//区分变量的作用域
{
[self.view addSubview:l];
}
}
OC中这么写不会出错,然而在swift中这么写就会报错:

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

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