1
アイテムごとにコードを一度書くことなく、コレクション内の使用可能なアイテムごとにボタンを追加するにはどうすればよいですか?コレクション内の各アイテムにボタンを追加する
は、これは私がこれまで持っているものである:ここでは
func drawInventory() {
if Person.inventory.itemsInBag[0].Id > 0 {
let itemButton1 = UIButton()
itemButton1.setImage(Person.inventory.itemsInBag[0].Image, for: .normal)
itemButton1.frame = CGRect(x: 300, y: 185, width: 30, height: 30)
itemButton1.addTarget(self, action: #selector(tapItemInInventory), for: .touchUpInside)
view.addSubview(itemButton1)
}
if Person.inventory.itemsInBag[1].Id > 0 {
let itemButton1 = UIButton()
itemButton1.setImage(Person.inventory.itemsInBag[1].Image, for: .normal)
itemButton1.frame = CGRect(x: 300+40, y: 185, width: 30, height: 30)
itemButton1.addTarget(self, action: #selector(tapItemInInventory2), for: .touchUpInside)
view.addSubview(itemButton1)
}
}
func tapItemInInventory() {
print(self.Person.inventory.itemsInBag[0].Name + "Pressed")
}
func tapItemInInventory2() {
print(self.Person.inventory.itemsInBag[1].Name + "Pressed")
}
'map'は必要ですか? 'enumerated'をコレクションで直接呼び出すことはできませんか? – Losiowaty
よろしくお願いします。それは私がキーワードを削除することを忘れていた...ありがとう! – tomahh
@Тимур-Хасанов私は自分の答えを更新しました。私はセレクタを完全な形式で書いています。 – tomahh