- 在Swift 2.0中,为了处理异常,Apple加入了do这个关键字来作为捕获异常的作用域。这一功能恰好为我们提供了一个完美的局部作用域,现在我们可以简单的使用do来分隔代码了:
do { //……}
- 在Objective-C中还有一个很棒的技巧是使用GNU C的声明扩展来在限制局部作用域的时候同时进行赋值,运用得当的话,可以使代码更加紧凑和整洁。比如上面的titleLabel如果我们需要保留一个引用的话,在Objective-C中可以写为:
self.titleLabel = ({
//label的初始化代码
[view addSubview: label];
label;
});
- Swift里当然没有GNU C的扩展,但是使用匿名的闭包的话,写出类似的代码也不是难事:
titleLabel = {
//label的初始化代码
self.view.addSubview(label)
return label
}()