首页 > 解决方案 > 我可以给 UIButton 设置一个带字母的标签吗?

问题描述

我遇到了一个难题。我有很多按钮。我想分别给它们设置tag,但是tag好像只能设置为数字,不方便我看代码。我想设置一个类似于“abc”的名称。有什么办法或其他方式

在此处输入图像描述

标签: iosswift

解决方案


您可以像这样创建自己的财产

extension UIButton {
    private struct AssociatedKeys {
        static var stringTag = "stringTag"
    }
    
    @IBInspectable var stringTag: String? {
        get {
            guard let stringTag = objc_getAssociatedObject(self, &AssociatedKeys.stringTag) as? String else {
                return nil
            }
            
            return stringTag
        }
        
        set(value) {
            objc_setAssociatedObject(self, &AssociatedKeys.stringTag, value, objc_AssociationPolicy.OBJC_ASSOCIATION_RETAIN_NONATOMIC)
        }
    }
}

在此处输入图像描述


推荐阅读