我有一个方法,其中包含以下内容:
let downloadNextPagination = {
if current.integerValue < amount.integerValue {
if current.integerValue != amount.integerValue - 1 {
return true
}
}
return false
}
if downloadNextPagination() {
// Do something
}
这段代码无法编译:无法在当前上下文中推断闭包返回类型
将downloadNextPagination的定义更改为:
let downloadNextPagination: () -> Bool
修复了这个问题。问题是:为什么Swift无法在这里找到正确的闭包类型?所有代码路径都返回Bool,但是这不能被解决?这是一个根本性的限制/我在这里理解错了什么,还是仅仅是需要改进编译器的类型推断能力,类似这样的事情可能会在Swift 3中得以实现?