【发布时间】:2014-07-23 13:24:50
【问题描述】:
我经常在 Objective-C 中使用本地作用域来使命名更清晰。
{
UILabel *label = [[UILabel alloc] init];
[self addSubview:label];
self.titleLabel = label;
}
我正在尝试像这样在 Swift 中重写这段代码:
{
let label = UILabel()
self.addSubview(label)
self.titleLabel = label
}
这给了我以下错误:
Error: Braced block of statements is an unused closure.
那么如何在 Swift 中创建本地作用域?
【问题讨论】:
-
尝试使用 'let' 而不是 'var'
-
你的 Swift 代码中有一个分号 ;)
-
不再有!肯定需要一些时间来适应这个:)
-
我通常把它(即范围介绍)作为一个函数做的太多需要拆分的标志。
-
@molbdnilo:我以前也这么认为。直到我遇到了正确拆分的功能。我研究了第一个:它调用了 3 个其他函数。我研究了第一个:它调用了 5 个其他函数。 ....我升了一级,然后继续升到了 2 级……反正我忘记了我在这里做什么。当然没有文件。我更喜欢一个有 100 行代码的大函数,至少当我必须阅读它并且没有文档时。只有在您知道各个函数调用的目的以及它们是否以连贯的方式拆分时,拆分才会有帮助。
标签: swift