Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 当为同一事件提供多个iBaction时,iBaction触发的顺序是什么_Objective C_Ios_Interface Builder_Xcode4.2_Ios5 - Fatal编程技术网

Objective c 当为同一事件提供多个iBaction时,iBaction触发的顺序是什么

Objective c 当为同一事件提供多个iBaction时,iBaction触发的顺序是什么,objective-c,ios,interface-builder,xcode4.2,ios5,Objective C,Ios,Interface Builder,Xcode4.2,Ios5,根据我的标题,我正在构建一个包含一些UIButton的视图。 我在考虑将两个动作连接到一个UIButton事件,因为该按钮需要做两件事,但我需要按照特定的顺序来做 无论我如何尝试,我似乎都无法改变动作的顺序。有没有办法让我来决定,还是随机的 当我右键单击Interface Builder中的UIButton时,我看到两个动作都添加到同一事件中,但无论它们以何种顺序出现,触发顺序都会发生变化 希望你们中的一些人能帮助我。由于没有明确的方法来指明操作的发送顺序,所以您不应该依赖于该顺序。相反,创建一

根据我的标题,我正在构建一个包含一些UIButton的视图。 我在考虑将两个动作连接到一个UIButton事件,因为该按钮需要做两件事,但我需要按照特定的顺序来做

无论我如何尝试,我似乎都无法改变动作的顺序。有没有办法让我来决定,还是随机的

当我右键单击Interface Builder中的UIButton时,我看到两个动作都添加到同一事件中,但无论它们以何种顺序出现,触发顺序都会发生变化


希望你们中的一些人能帮助我。

由于没有明确的方法来指明操作的发送顺序,所以您不应该依赖于该顺序。相反,创建一个单独的操作,按所需顺序调用您关心的两个操作:

- (IBAction)doFooAndBar:(id)sender
{
    [self foo:sender];
    [self bar:sender];
}

由于没有明确的方法来指示操作的发送顺序,因此您不应该依赖该顺序。相反,创建一个单独的操作,按所需顺序调用您关心的两个操作:

- (IBAction)doFooAndBar:(id)sender
{
    [self foo:sender];
    [self bar:sender];
}

UIButtons是UIControl的子类,它使用目标动作模式来传达事件。用于添加目标的编程接口通过
addTarget:action:forControlEvents:
方法公开。在interface builder中连接iActions只是使用相同界面的一种可视化方式;当加载包含包的.xib文件时,包加载程序将在未归档按钮上调用该方法


关键点是,该方法中的
目标
参数由UIControl内部添加到NSSet(或可变子类)中。根据定义,NSSET是无序的。这意味着当按钮需要枚举其目标集以分派事件时,枚举顺序没有很好地定义。

ui按钮是UIControl的子类,它使用目标动作模式来传递事件。用于添加目标的编程接口通过
addTarget:action:forControlEvents:
方法公开。在interface builder中连接iActions只是使用相同界面的一种可视化方式;当加载包含包的.xib文件时,包加载程序将在未归档按钮上调用该方法


关键点是,该方法中的
目标
参数由UIControl内部添加到NSSet(或可变子类)中。根据定义,NSSET是无序的。这意味着,当按钮需要枚举其目标集以分派事件时,枚举顺序没有很好的定义。

任何书籍甚至谷歌搜索都无法回答这个问题

我曾亲自尝试过,它按照名字的字母顺序工作。奇怪,但这是事实

测试示例如下:

helloworld.h

-(IBAction)a:(id)sender;
-(IBAction)b:(id)sender;
-(IBAction)c:(id)sender;
-(IBAction)d:(id)sender;
-(IBAction)e:(id)sender;
-(IBAction)f:(id)sender;
动作)g:(id)发送方

现在,将这些操作以任意顺序链接到[Touch Up Inside]事件中的按钮。您将发现如下所示的相同输出:

输出

2012-03-19 15:35:34.548  I clicked a
2012-03-19 15:35:34.554  I clicked b
2012-03-19 15:35:34.564  I clicked c
2012-03-19 15:35:34.566  I clicked d
2012-03-19 15:35:34.568  I clicked e
2012-03-19 15:35:34.572  I clicked f
干杯


快乐编码

你不会在任何一本书上,甚至在谷歌上找到这个问题的答案

我曾亲自尝试过,它按照名字的字母顺序工作。奇怪,但这是事实

测试示例如下:

helloworld.h

-(IBAction)a:(id)sender;
-(IBAction)b:(id)sender;
-(IBAction)c:(id)sender;
-(IBAction)d:(id)sender;
-(IBAction)e:(id)sender;
-(IBAction)f:(id)sender;
动作)g:(id)发送方

现在,将这些操作以任意顺序链接到[Touch Up Inside]事件中的按钮。您将发现如下所示的相同输出:

输出

2012-03-19 15:35:34.548  I clicked a
2012-03-19 15:35:34.554  I clicked b
2012-03-19 15:35:34.564  I clicked c
2012-03-19 15:35:34.566  I clicked d
2012-03-19 15:35:34.568  I clicked e
2012-03-19 15:35:34.572  I clicked f
干杯


快乐编码

我很想知道你把它们添加到控件中的顺序是否合理。这在我的应用程序中引起了一个问题已经有一段时间了。我很想知道你将它们添加到控件中的顺序是否合理。这导致我的应用程序出现问题已有一段时间了。