如何在UiButton动作中传递任何类型的参数?

Ban*_*shi 5 iphone uibutton ios

我想通过按钮操作传递一个url,因为我有10个按钮,这些按钮是通过代码动态创建的,然后点击,然后为每个相应的按钮分配一个特定的URL.这是我的代码

NSString *linkUrl = [NSString stringWithFormat:@"%@",[AllrecordG objectForKey:@"Link"]];
[leftLabelG addTarget:self action:@selector(clickMe:linkUrl:) forControlEvents:UIControlEventTouchUpInside];

-(void)clickMe:(UIButton *)sender{
}
Run Code Online (Sandbox Code Playgroud)

但在这里我得到警告"未使用的变量linkUrl".

我研究了不同的文章,但有人告诉我不可能通过论证.任何人都可以告诉我如何为每个按钮操作传递url以及如何检索这些值.在clickMe定义中.

提前致谢.

Mat*_*euF 11

子类UIButton是这样的:

MyButton.h

@interface MyButton : UIButton
{
     NSString *_linkUrl;
}

@property (nonatomic, retain) NSString *linkUrl
Run Code Online (Sandbox Code Playgroud)

MyButton.m

@implementation MyButton
@synthesize linkUrl = _linkUrl
Run Code Online (Sandbox Code Playgroud)

传递linkUrl:

NSString *linkUrl = [NSString stringWithFormat:@"%@",[AllrecordG objectForKey:@"Link"]];
[leftLabelG addTarget:self action:@selector(clickMe:) forControlEvents:UIControlEventTouchUpInside];
[leftLabelG setLinkUrl:linkUrl];
Run Code Online (Sandbox Code Playgroud)

现在你可以在你的行动中得到linkUrl:

-(void)clickMe:(MyButton *)sender{
      NSString *url = sender.linkUrl;
}
Run Code Online (Sandbox Code Playgroud)

  • 你是先生,是个天才 (2认同)