通过方法传递 2 个对象 - iPhone SDK

发布于 2024-10-03 07:04:43 字数 502 浏览 1 评论 0原文

我有一个“观察者”,它监视 UISwitch 值的变化:

[cell.switcher addTarget:self action:@selector(switched:withName:) forControlEvents:UIControlEventValueChanged];

当值更改时,调用此方法:

-(void)switched:(UISwitch *)switcher withName:(NSString *)name;

如您所见,我有两个对象,需要通过第一个代码传递。如何通过 addTarget:action:forControlEvents 方法发送 nsstring 和 uiswitch 的对象,以便我可以在选择器 Switched:withname 中访问它们?

谢谢,

Kevin

编辑:我不太擅长 obj-c 并且没有真正正确地学习这些术语,所以如果我犯了错误,请告诉我!

I have this "observer" that watches the UISwitch for a change in value:

[cell.switcher addTarget:self action:@selector(switched:withName:) forControlEvents:UIControlEventValueChanged];

When the value is changed this method is called:

-(void)switched:(UISwitch *)switcher withName:(NSString *)name;

As you can see I have two objects which I need to pass with the first code. How do I send the object of a nsstring and a uiswitch through the method of addTarget:action:forControlEvents so that I can access them in the selector switched:withname?

Thanks,

Kevin

EDIT: I'm not very good with obj-c and didn't really learn the terms correctly, so if I made a mistake please let me know!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

淡写薰衣草的香 2024-10-10 07:04:43

最好的方法是标记你的 UISwitch 对象:

uiSwitch1.tag = 0;
uiSwitch2.tag = 1;
...

然后在你的 switched: 方法中,你可以测试发送者的标签并在那里定义你的字符串:

-(void)switch:(id)sender {
    switch ([sender tag]) {
        case 0:
        // set the string for uiSwitch1
        case 1:
        // set the string for uiSwitch2
        ...
    }
}

Best way to go about this is to tag your UISwitch objects:

uiSwitch1.tag = 0;
uiSwitch2.tag = 1;
...

Then on your switched: method you can test the sender's tag and define your string there:

-(void)switch:(id)sender {
    switch ([sender tag]) {
        case 0:
        // set the string for uiSwitch1
        case 1:
        // set the string for uiSwitch2
        ...
    }
}
就是爱搞怪 2024-10-10 07:04:43

你不能。 UIControl 操作的选择器只会传回发送者(在本例中为您的 cell.switcher)。您应该找到一种方法来根据操作和发件人的 ID 来识别您需要哪个字符串。

You can't. The selector for UIControl actions will only pass back the sender (in this case, your cell.switcher). You should find a way to identify which string you need based on the action and the id of the sender.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文