第一次来这里。我正在看一个视频来补充我在swift上的学习(它似乎是一个老视频,在被调用时必须命名第一个var,我知道这已经不是事实了)。不管怎样,我很难理解7号线怎么会出问题。我不能让函数返回整数。它是函数中的函数,返回的函数没有参数,但返回的是整数类型)。谢谢!

func buildIncrementor() -> () -> Int {
    var count = 0
    func incrementor() -> Int {
        count += 1 //video uses ++count//
        return count
    }
    return incrementor()
}
var incrementor = buildIncrementor()

最佳答案

试试这个

func buildIncrementor() -> () -> Int {
    var count = 0
    func incrementor() -> Int {
        count += 1 //video uses ++count//
        return count
    }
    return incrementor
}
var incrementor = buildIncrementor()

incrementor()返回incrementor()函数的返回值,而incrementor返回函数。

09-04 08:07