【发布时间】:2016-12-13 16:12:26
【问题描述】:
这是我的代码,现在根据我创建的函数命名了 10 个不同的按钮,并且运行正常。
public func buttonNameSetAndColor(){
let buttonNamesAndColor = [button1, button2, button3, button4, button5, button6, button7, button8, button9, button10]
for i in 0...9 {
var val = NamePicker()
buttonNamesAndColor[i]?.setTitle(val, for: .normal)
buttonNamesAndColor[i]?.sizeToFit()
}
}
我现在要做的是让这个函数更复杂一点,我想过另一个 for 循环,但这可能是做事的艰难方式。我想要尝试做的是,如果在 10 个按钮中,如果 3 个或更多具有相同的名称,它将三个中的一个更改为我的其他随机名称之一。
我试图在 for 循环中实现这段代码
// array to find duplicates
var buttonValues = [String]()
buttonValues.insert(val, at: i)
print(buttonValues[i])
但它给出的数组越界错误
例如,假设我有这些名字(a、b、c、d、e、f、g、h)
button1 = a
button2 = a
button3 = a
button4 = b
button5 = b
button6 = c
button7 = c
button8 = b
button9 = f
button10 = e
我想让我的新功能修复 button1-button3 并将其中一个按钮命名为不同的名称,因此只有 2 个具有相同名称的按钮,之后它会修复 button4、button5、button8 并更改其中一个他们的名字也没有给他们一个已经有 2 个按钮的名字。
任何有关我如何完成此任务的 cmets 或建议都会有所帮助。
【问题讨论】:
-
这是一个奇怪的设计......你为什么要这样做?
-
这只是一个问题,我想弄清楚如何解决这就是编码的重点是找出解决问题的方法。 @AlexanderMomchliov
-
哦,相信我,我知道。我的意思是我怀疑这是一个 xy 问题xyproblem.info
-
这真的不是我的问题很清楚,就像我的问题@AlexanderMomchliov
标签: ios arrays swift uibutton swift3