Ios 将字符串作为标记或按钮中的其他值传递

Ios 将字符串作为标记或按钮中的其他值传递,ios,objective-c,uibutton,Ios,Objective C,Uibutton,我需要用按钮传递字符串数据,比如标签,我怎么做 [button setTag:tg]; tg是nsstring。可能使用其他属性而不是标记?您不能将NSString变量设置为整数属性,这在Objective-C中是不可能的(如果它是一个对象,从技术上讲您可以,但您在这里处理的是一个基元) 您可以在Objective-C运行时中使用相关属性。您可以使用此API为任何对象设置任何附加变量,然后在以后检索它。有关更多信息,请参阅下面的链接。 方法objc\u setAssociatedObject

我需要用按钮传递字符串数据,比如标签,我怎么做

[button setTag:tg];

tg是nsstring。可能使用其他属性而不是标记?

您不能将
NSString
变量设置为整数属性,这在Objective-C中是不可能的(如果它是一个对象,从技术上讲您可以,但您在这里处理的是一个基元)

您可以在Objective-C运行时中使用相关属性。您可以使用此API为任何对象设置任何附加变量,然后在以后检索它。有关更多信息,请参阅下面的链接。


方法
objc\u setAssociatedObject
是您要查找的对象。

您不能将
NSString
变量设置为整数属性,这在Objective-C中是不可能的(如果它是一个对象,从技术上讲您可以,但您在这里处理的是一个原语)

您可以在Objective-C运行时中使用相关属性。您可以使用此API为任何对象设置任何附加变量,然后在以后检索它。有关更多信息,请参阅下面的链接。


方法
objc\u setAssociatedObject
就是您要查找的对象。

使用
关联对象

@interface UIButton (Tagged)

 @property (nonatomic, copy) NSString *tag;

@end

#导入
静态常量void*tagKey=&tagKey;
@实现按钮(已标记)
-(void)setTag:(NSSting*)标记
{
objc_setAssociatedObject(self、tagKey、tag、objc_ASSOCIATION_COPY_NONATOMIC);
}
-(NSString*)标记
{
返回objc_getAssociatedObject(self,tagKey);
}
@结束

获取引用并使用关联对象

@interface UIButton (Tagged)

 @property (nonatomic, copy) NSString *tag;

@end

#导入
静态常量void*tagKey=&tagKey;
@实现按钮(已标记)
-(void)setTag:(NSSting*)标记
{
objc_setAssociatedObject(self、tagKey、tag、objc_ASSOCIATION_COPY_NONATOMIC);
}
-(NSString*)标记
{
返回objc_getAssociatedObject(self,tagKey);
}
@结束

获取参考,按钮是否在tableview中?然后看看你能不能提到这个场景,为什么你想给标签属性添加字符串值?我想更好的方法是在特定的事件方法上传递我的值,比如UITouchUpInside。请提供更多相关说明。按钮是否在tableview中?然后看看你能不能提到这个场景,为什么你想给标签属性添加字符串值?我想更好的方法是在特定的事件方法上传递我的值,比如UITouchUpInside。请提供更多相关说明。