局部scope

  • 在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
}()
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容