gpt4 book ai didi

快速重构协助

转载 作者:搜寻专家 更新时间:2023-10-31 22:32:25 25 4
gpt4 key购买 nike

我在由十个片段组成的 Storyboard 上布置了一个仪表。在原始段的顶部还有另外十个段,这些段被着色以模拟发光的段 - 这些是 socket 。 (见下图。)目前我正在使用 switch 语句根据不断变化的输入级别隐藏和取消隐藏每个导出/段。但是,正如您在下面的代码中看到的那样,它并不漂亮。我一直在阅读多态性通常是改进 switch 语句的方法,但我看不出这对这里有什么帮助。

switch input {
case 0...9:
seg1.hidden = false
seg2.hidden = true
seg3.hidden = true
seg4.hidden = true
seg5.hidden = true
seg6.hidden = true
seg7.hidden = true
seg8.hidden = true
seg9.hidden = true
seg10.hidden = true
case 10...19:
seg1.hidden = false
seg2.hidden = false
seg3.hidden = true
seg4.hidden = true
seg5.hidden = true
seg6.hidden = true
seg7.hidden = true
seg8.hidden = true
seg9.hidden = true
seg10.hidden = true
...
and on and on for eight more levels.

enter image description here

最佳答案

//You can have these segments in an array like this-

let segments = [seg1, seg2, seg3, seg4, seg5,seg6, seg7, seg8, seg9, seg10]

// Function that will setup the segments based on input

func setUpSegmentsForInputValue(segments:[UIView], value:Int) {
for (index, segment) in segments.enumerate() {
segment.hidden = (value/10) != index
}
}

// Call the function with whatever input values
setUpSegmentsForInputValue(segments: segments, value: someValue)

关于快速重构协助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36879546/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com