加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

swift – 如何从嵌套函数中更改变量?

发布时间:2020-12-14 04:31:15 所属栏目:百科 来源:网络整理
导读:参见英文答案 AlamoFire GET api request not working as expected????????????????????????????????????1个 在嵌套函数范围内更改变量时,一旦保留范围,它就不会保持更改状态.在我的示例代码中,当我将变量xmlString设置为等于响应时,它正确地设置为响应.但是
参见英文答案 > AlamoFire GET api request not working as expected????????????????????????????????????1个
在嵌套函数范围内更改变量时,一旦保留范围,它就不会保持更改状态.在我的示例代码中,当我将变量xmlString设置为等于响应时,它正确地设置为响应.但是然后返回一个空字符串.
func getXmlString(url:String) – >字符串{
????????var xmlString:String =“”
????????Alamofire.request(.GET,url)
????????????.validate()
????????????.responseString {回复于
????????????????xmlString = response.result.value!
????????}
????????return xmlString
????}
我知道我遗失了一件小事,任何帮助更好地理解我的情况都会帮助我.谢谢

解决方法

Alamofire是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
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读