可能重复:
Objective C: Sending arguments to a method called by a UIButton
我对uibutton
行动有疑问。我想在点击按钮时发送参数。我看到了一些与标签道具一起使用的例子。并且该类是id发送者。但我不想修复它。行动发给我自己的经理。我该怎么办?
UIButton* rightButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
[rightButton addTarget:self
action:@selector(goToSubViewManager:)
forControlEvents:UIControlEventTouchUpInside];
这里是gotosubviewmng
- (void)goToSubViewManager:(ViewType*)vTipi
{
}
答案 0 :(得分:1)
您应该只使用- (void)goToSubViewManager:(id)sender
。或- (void)goToSubViewManager
所以这里有两种解决问题的方法。
- (void)yourMethod { //your code _vTipi = yourVTipi; }
- (void)goToSubViewManager { //here you can use _vTipi; }
- (void)goToSubViewManager:(id)sender { //you can user ((UIButton *)sender).vTipi }
答案 1 :(得分:0)
使用可以使用按钮的标记属性。然后可以通过比较分配的标记来使用该对象。
UIButton* rightButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
[rightButton addTarget:self
action:@selector(goToSubViewManager:)
forControlEvents:UIControlEventTouchUpInside];
rightButton.tag=1;
//
然后在回调中你可以将其比作
- (void)goToSubViewManager:(id)sender
{
if(sender.tag==1){
// you can use an array of that object(if multiple), then apply your logic
}
}