gpt4 book ai didi

ios - 使用 UIButton 传递多个标签

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:03:20 27 4
gpt4 key购买 nike

好的,我有一个具体情况。我正在使用自定义类来创建一些按钮,我可以使用唯一的数字设置它们的标签属性,例如:

button.tag =[NSNumber numberWithInt:[10]];

这在我程序的另一部分非常有用,因为我可以像这样访问这个独特的标签:

UIButton *clicked= (UIButton *) sender;

ButtonTag = [NSString stringWithFormat:@"%d", clicked.tag];

现在我想像这样传递一个独特的属性。这是我编造的,但这就是我的设想

button.tagCREATED_BY_ME =[NSNumber numberWithInt:[9000]];

这个问题可能措辞不当,但我不知道更好所以我称它为“标签”。(正确的措辞可能是元素/属性等)如何创建一个类似的属性来像 .tag 一样运行?

非常感谢!阿尔达

最佳答案

你想达到什么目的?

可以添加关联引用。这样做的好处是,您不需要对其进行子类化。因此,首先为 UIButton 创建一个类别:

@interface UIButton (ExtraTag)

@property (nonatomic, retain) id extraTag;

@end

还有.m:

static char const * const ExtraTagKey = "ExtraTag";

@implementation UIButton (ExtraTag)
@dynamic extraTag;

- (id)extraTag {
return objc_getAssociatedObject(self, ExtraTagKey);
}

- (void)setExtraTag:(id)newExtraTag {
objc_setAssociatedObject(self, ExtraTagKey, newExtraTag, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
}

You can check the article I used .

关于ios - 使用 UIButton 传递多个标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15943648/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com