2016-07-09 5 views
1

первый раз здесь. Я смотрю видео, чтобы дополнить мое обучение на Swift (похоже, это более старое видео, которое должно называть первый var при вызове, который, как я понимаю, больше не имеет места). Во всяком случае, мне трудно понять, как линия 7 идет не так. Это говорит о том, что я не могу вернуть функцию целое число. Это функция внутри функции, которая возвращает функцию без аргументов, но возвращает целочисленный тип). Благодаря!Изучение функций в swift

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

ответ

3

Попробуйте

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

incrementor() возвращает значение, возвращаемое из incrementor() функции, тогда как incrementor возвращает функцию.

Смежные вопросы