При изменении переменной внутри области вложенной функции она не изменяется после того, как область оставлена. В моем примере кода, когда я устанавливаю переменную xmlString равную ответу, она правильно получает ответ. Но затем возвращает пустую строку.
func getXmlString(url: String) -> String { var xmlString: String = "" Alamofire.request(.GET, url) .validate() .responseString { response in xmlString = response.result.value! } return xmlString }
Я знаю, что есть только крошечная вещь, которую мне не хватает, и любая помощь в понимании моей ситуации поможет мне. ThanksКак изменить переменную из вложенной функции?
4
A
ответ
1
Alamofire
is acsynchonus. Вот почему ваш xmlString пуст. Вы должны подождать, пока у вас не будет ответа от Alamofire
.
func getXmlString(url: String, completion: (xmlString: String) ->()) {
var xmlString: String = ""
Alamofire.request(.GET, url)
.validate()
.responseString { response in
xmlString = response.result.value!
completion(xmlString)
}
}
И использовать его
getXmlString(url: String){ xmlString in
//do something with your String
}
Смежные вопросы
- 1. Python: изменить переменную в функции из дочерней/вложенной функции?
- 2. как установить переменную из вложенной функции в JavaScript
- 3. Как вызвать переменную из вложенной функции в JQuery
- 4. Получить переменную вложенной функции async в javascript
- 5. Возврат из вложенной функции
- 6. Как изменить внешнюю переменную функции из внутренней функции события jquery?
- 7. Python изменить внешнюю переменную из функции
- 8. Как передать переменную функции и изменить исходную переменную внутри функции?
- 9. Изменить директивную переменную контроллера из функции связи
- 10. Невозможно изменить глобальную переменную из локальной функции
- 11. Невозможно изменить переменную класса из новой функции
- 12. Как вернуть значение вложенной функции
- 13. Возвращаемое значение из вложенной функции
- 14. Jquery возвращение из вложенной функции
- 15. Как вернуть объект из вложенной функции? Функции более высокого порядка
- 16. jQuery: Как изменить переменную внутри функции
- 17. вложенной ссылкой на переменную
- 18. Как разбить цикл из вложенной функции?
- 19. Как вернуть значение из вложенной функции API
- 20. Как получить возврат из вложенной функции jquery?
- 21. Как вернуться из вышеуказанной вложенной функции?
- 22. возвращаемого значения из двойной вложенной функции
- 23. Как объявить переменную внутри вложенной структуры?
- 24. Как изменить глобальную переменную из функции, вызванной при срабатывании события?
- 25. Как изменить переменную Bool в одной функции из другой?
- 26. В функции javascript, как изменить переменную сеанса
- 27. Как изменить переменную внутри лямбда-функции?
- 28. Как изменить переменную внутри функции readline?
- 29. Как изменить переменную внутри родительской функции?
- 30. Как вернуть переменную из функции
Есть ли способ, чтобы вернуть значение строки, как правило, как я предназначенный ?. – Hairy
'func getXmlString (url: String, complete: (xmlString: String) -> (String))' –
use: 'getXmlString (url) {(xmlString) -> String in return xmlString}' –