gpt4 book ai didi

iphone - 如何在IBAction中传递参数?

转载 作者:行者123 更新时间:2023-12-03 17:31:54 25 4
gpt4 key购买 nike

我正在以编程方式访问 IBAction 并希望通过此 IBAction 调用传递两个参数。任何人都可以建议简单的方法...

最佳答案

IBAction 通常由用户界面元素调用,并且它们不能具有任意数量的参数。

如果您想以编程方式调用操作方法,您可以通过传递字典作为参数来滥用发送者参数,并保存您想要传递的实际参数,如下所示:

- (void) foo
{
[self myAction: [NSDictionary dictionaryWithObject: @"bar" forKey: @"baz"]];
}

但是,我建议创建一个带有两个参数的附加方法; IBAction 可以使用适合发送者的参数来调用它,并且您可以以编程方式使用您需要的任何参数来调用它。这将是代码的可能概要:

// The atual "logic" method, doing sth interesting
- (void) foo: (NSString *) s bar: (NSInteger) i
{
// some code
}

- (IBAction) myAction: (id) sender
{
// can be invoked by a button, or any view action
if (sender == self.buttonX) {
[self foo: @"x" bar: 42];
}

if (sender == self.buttonY) {
[self foo: @"y" bar: 4];
}
}

- (void) methodCallingFooBarProgrammatically
{
[self foo: @"s" bar: 17];
}

关于iphone - 如何在IBAction中传递参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12068712/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com