Если MenuItem
и EmojiButton
наследуются от UIView
, вы можете использовать свойство tag
, доступное для всех UIView
.
Сначала вам нужно присвоить уникальное значение tag
каждому из ваших MenuItem
.
Затем вам нужно присвоить это же значение для свойства tag
соответствующей кнопки Emoji.,(Это было бы хорошо сделать на вашем заводе.)
Сделав это, вы можете изменить свою функцию следующим образом:
//assumes MenuItem and EmojiButton inherit from UIView
func buttonFor(for menuItem: MenuItem) -> EmojiButton? {
return stackView.viewWithTag(menuItem.tag) as? EmojiButton
}