これは私のコードですが、今は10個の異なるボタンが作成した関数に基づいた名前を与えられており、これが正しく機能しています。Swift 3配列の制限
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個以上が同じ名前であれば、3個のうちの1個を他のランダムな名前に変更するようにすることです。
イム例えば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
私はまた、私の新しい機能修正ボタン1-ボタン3を持っているし、同じ名前を持つ唯一の2つのボタンがあるので、これらのボタンのいずれか、別の名前をしたいと思いますその後、button4、button5、button8を修正し、2つのボタンに既にある名前を付けずに名前の1つを変更します。
これをどのように達成できるかについてのご意見やご提案があれば助かります。
これは奇妙なデザインです...なぜこれをしたいですか? – Alexander
その問題を解決する方法を理解したいのですが、コーディングのポイントは問題を解決する方法を見つけることです。 @AlexanderMomchliov – Shane
ああ、私を信じて、私は知っている。私のポイントは、私はこれがxyの問題であると思われるということです。http://xyproblem.info – Alexander