ios – Pull-to-refresh修改数组值?

ios – Pull-to-refresh修改数组值?,第1张

概述我正在使用 Swift进行iOS上的pull-to-refresh. 我有一个城市名称的数组,cityNames = [“芝加哥”,“纽约市”] 我实现了一个pull-to-refresh来从互联网上获取温度数据.因此,每当我触发pull-to-refresh时,它将进入互联网并获取cityNames数组中每个城市的温度. 这是pull-to-refresh的代码 var weatherDetai 我正在使用 Swift进行iOS上的pull-to-refresh.
我有一个城市名称的数组,citynames = [“芝加哥”,“纽约市”]
我实现了一个pull-to-refresh来从互联网上获取温度数据.因此,每当我触发pull-to-refresh时,它将进入互联网并获取citynames数组中每个城市的温度.
这是pull-to-refresh的代码
var weatherDetail = [Weather]()// Pull to refreshfunc refreshData() {    var citynames = [String]()    for (index,_) in weatherDetail.enumerate() {        let info = weatherDetail[index]        citynames.append(info.cityname)    }    print(citynames)    weatherDetail.removeAll()    for city in citynames {        self.forwardGeoCoding(city)    }    weatherCitytable.reloadData()    refreshControl.endRefreshing()}

在上面的代码中,weatherDetail是一个模型数组(我不知道该怎么说这个,但Weather是一个模型,它包含城市名称,温度,太阳升起时间,高/低温度.
forwardGeoCoding是一个获取城市地理协调的功能,然后发送请求以获取该城市的天气数据.
拉动刷新工作,我遇到的问题是,当我拉动时的前2,3次,它没有问题.但随着我拉多次,阵列将突然变为citynames = [“芝加哥”,“芝加哥”]
感谢您的帮助,如果您需要更多信息,请与我们联系.

更新:
我删除了weatherDetail.removeAll(),尝试将相同的数据附加到数组中.刷新后,它打印出“芝加哥”,“纽约市”,“芝加哥”,“芝加哥”.如果我刷新它多次,它会打印出类似“芝加哥”,“芝加哥”的东西.

@H_301_15@解决方法 forwardGeoCoding是同步的吗?
weatherDetail什么时候设置/更新?

在我看来,你在这里遇到某种同步性问题,可能会因延迟而加剧.

@H_301_15@ @H_301_15@ 总结

以上是内存溢出为你收集整理的ios – Pull-to-refresh修改数组值?全部内容,希望文章能够帮你解决ios – Pull-to-refresh修改数组值?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1101650.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存