0

我有一个名为 member id 的值,我想将它发送到另一个视图控制器,如果我将以下内容放在 didSelectRowAtIndexPath 中,则该值将传递给变量“member”。

int memberIndex = [indexPath indexAtPosition: [indexPath length] - 1];
    member = [[tableDataSource2 objectAtIndex: memberIndex] objectForKey:@"Memberid"];

如果将它放在 cellForRow 中,当然它会在创建的每一行时重写。我在每一行都有一个启动 viewController 的按钮,我希望按钮操作抓取行“成员”并将其传递给新控制器。是否有“索引路径方法中的didSelectButton”或即时抓取它的方法?

任何想法都会很棒。这是我第一次向 UiTableview 添加按钮。

谢谢

4

2 回答 2

1

为什么不使用附件视图?它是一个内置按钮,您可以使用任何想要为 UI 提供所需感觉的任何图像进行皮肤设置。然后将其添加到表的委托中:

accessoryButtonTappedForRowWithIndexPath: (NSIndexPath *) indexPath{ ... }

然后,您将能够在表数据源上调用您的方法并启动您的辅助视图。

于 2010-11-09T15:14:15.817 回答
0

只是玩“标签”。

每个 UIView 都有一个属性标签 (int)。

在 cellForRowAtIndexPath :

//create yourButton and then
yourButton.tag = memberIndex;

当您使用 IBAction 时,只需获取发件人:

- (IBAction) didSelectButton:(id)sender
{
int memberIndex = ((UIButton *)sender).tag;
//
}

提示:要在设置按钮的操作属性时获取发件人,请不要忘记“:”

例如

action = @selector(didSelectButton:);
于 2010-11-09T15:18:07.893 回答