当前位置: 首页 > 知识库问答 >
问题:

使用数组迭代不同视图,Swift

李良策
2023-03-14

我有4个不同的progressView

@IBOutlet weak var firstProgressBar: UIProgressView!
@IBOutlet weak var secondProgressBar: UIProgressView!
@IBOutlet weak var thirdProgressBar: UIProgressView!
@IBOutlet weak var fourthProgressBar: UIProgressView!

我有一个有4个值的数组

[30,20,24,25]

由于这个数组从API调用中更改(我需要检查我是否真的有这个值),那么最好和更安全的方法是什么:

  • 将此数组从大到小排序
  • 遍历此数组并将每个progressView值设置为相应的数组值

这是我当前的代码:

func setupProgressBar(item: CustomObject) {
   let array = item.array // [x,y,z,w] array 

   self.progressBar.setProgress( ?? , animated: false)
}

我有一个动画的值,但这不是我的问题的重点,我只需要设置值

共有2个答案

锺威
2023-03-14
func setupProgressBar(item: CustomObject) {
    let valueArray = item.array.sorted  // [x,y,z,w] array
    let progressBars = [firstProgressBar, second….., fourthProgressBar]
    for item in valueArray.enumerated() {
        progressBars[item.index].setProgress(item.value)
    }
}

确保进度条和值相等。 否则代码将崩溃。

蓬弘
2023-03-14

更好的方法是将情节提要中的所有UIProgressBar连接到一个@IBOutter集合。

@IBOutlet weak var progressBars: [UIProgressView]!

然后遍历数组以设置progressbars的值。

func setupProgressBar(item: CustomObject) {
    let array = item.array // [x,y,z,w] array
    for (progressBar, value) in zip(progressBars, array) {
        progressBar.setProgress(value, animated: false)
    }
}
 类似资料:
  • 我从一个布局数组中拼接了一个位图,它将一个更大的位图作为指导。在一个位图中使用多个位图。我旋转整个位图时,我的解决方案是重新绘制它,但要让数组考虑这个旋转。位图的制作由数组的顺序决定。缝合假定数组从零开始,即第一个索引或最左上角,然后向右到最后,再到下一行的开始。我想有一个90、180、270和360功能可以调用。我想360很容易,我倒着迭代。我用的是11乘11,这是常数。 例如 当我旋转90度

  • 我有一个我正在使用的API,它每5秒钟接受一次呼叫,比它不会响应的任何时间都多。在每次调用中,它将在一批中接受5条记录。我有一个1000条记录的列表,我需要使用api来检查,所以我想做的是每5秒钟把我的记录列表分成5个批次发送给它。 我可以让它大部分工作,但我不能计算的一点是分解记录列表,这是一个成批数组,你知道怎么做吗? 这是我在下面使用的代码,但是它每5秒钟输出一次数组的每个单独部分,而不是每

  • 我有多个嵌套循环和一些数组,我想同时循环访问。 现在,第一个数组包含以某种混乱顺序排列的数据: 正如你在上面看到的,有三个数组(我知道它们看起来很奇怪,但它们就是这样设置的,我不能改变它们)。 下一个数组是: 重要提示:和的长度将始终相同。所以如果包含三个数组,将在里面包含三个值。 我现在迭代的方式是这样的: 上面的循环打印: 正如你所看到的,使用嵌套的foreach,我能够正确打印值,但是如果我

  • 给定以下对象: 是否可以使用ng repeat一次迭代所有值? 我的动机是:1。我在<代码>中使用ng-repeat 有什么想法吗? 谢谢!

  • 让我们使用函数创建一个 3X4 数组,并使用nditer对它进行迭代。 输出如下: 原始数组是: [[ 0 5 10 15] [20 25 30 35] [40 45 50 55]] 修改后的数组是: 0 5 10 15 20 25 30 35 40 45 50 55 示例 2 迭代的顺序匹配数组的内容布局,而不考虑特定的排序。 这可以通过迭代上述数组的转置来看到。 import numpy

  • 问题内容: 假设您具有以下数组: 您将如何将其转换为XML字符串,使其看起来像: 一种方法是通过类似如下的递归方法: 我正在寻找一种使用迭代的方法。 问题答案:

  • 问题内容: 学生的姓名(String [])和相应的标记(int [])存储在不同的数组中。 如何使用Java中的每个循环一起遍历两个数组? 一种简单的方法是在同一循环中使用索引变量。有什么好办法吗? 问题答案: 潜在的问题实际上是您应该将两个数组绑定在一起,并且仅跨一个数组进行迭代。 这是一个非常简单的演示-您应该使用getter和setter,还应该使用a 而不是数组,但这证明了这一点:

  • 另外,当切换到一个新的视图(spring controller中的新调用)时,来自上一个视图的事务将已经关闭,我必须进行新的调用,以与用户有不同的数据。我不明白如果您不在相同的事务服务方法中,fetch lazy有什么帮助,除非我没有遗漏什么。 例如,如果我需要“orderwiew.html”中的订单数据,惰性加载订单是没有帮助的,我必须对相同的用户数据和额外的订单数据进行另一次完整调用