Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.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
Iphone 关于Objective-C选择器的问题;我可以使用参数吗?如何使用?_Iphone_Objective C_Methods_Cocos2d Iphone_Selector - Fatal编程技术网

Iphone 关于Objective-C选择器的问题;我可以使用参数吗?如何使用?

Iphone 关于Objective-C选择器的问题;我可以使用参数吗?如何使用?,iphone,objective-c,methods,cocos2d-iphone,selector,Iphone,Objective C,Methods,Cocos2d Iphone,Selector,我试图使用带参数的选择器,但在使用过程中失败。我来自C/++,选择器有点混乱。我有以下代码: playItem = [CCMenuItemLabel itemWithLabel:playLabel target:self selector:@selector(goToScene:)argumentHere]; 我如何以这种方式将参数传递给方法 提前谢谢:你不能。选择器只指定要调用的方法,而不指定要传递的参数 您可以做的是检查goToScene:方法中的sender参数。它将是执行操作的元素(在

我试图使用带参数的选择器,但在使用过程中失败。我来自C/++,选择器有点混乱。我有以下代码:

playItem = [CCMenuItemLabel itemWithLabel:playLabel target:self selector:@selector(goToScene:)argumentHere];
我如何以这种方式将参数传递给方法


提前谢谢:你不能。选择器只指定要调用的方法,而不指定要传递的参数

您可以做的是检查
goToScene:
方法中的
sender
参数。它将是执行操作的元素(在您的情况下很可能是
CCMenuItemLabel

因此,您可以看到调用了哪个元素(如果您对几个ui元素使用
goToScene:
),并决定使用哪个“参数”

为了区分不同的ui元素,通常使用
标记
属性。所以,代码可能看起来像

if ([sender tag] == 1) {
    ...
} else if ...

若你们不喜欢太多的ifs,那个么查找表就可以了。

你们不能。选择器只指定要调用的方法,而不指定要传递的参数

您可以做的是检查
goToScene:
方法中的
sender
参数。它将是执行操作的元素(在您的情况下很可能是
CCMenuItemLabel

因此,您可以看到调用了哪个元素(如果您对几个ui元素使用
goToScene:
),并决定使用哪个“参数”

为了区分不同的ui元素,通常使用
标记
属性。所以,代码可能看起来像

if ([sender tag] == 1) {
    ...
} else if ...

如果您不喜欢太多的ifs,查找表将起作用。

您是否正在寻找
性能选择器:withObject
?恐怕我不太明白你的问题


Nikita是对的,当您设置选择器时,只需传入描述符名称。稍后在代码中,当您调用该方法时,您将传入任何参数。

您是否正在查找
性能选择器:withObject
?恐怕我不太明白你的问题


Nikita是对的,当您设置选择器时,只需传入描述符名称。稍后在代码中,当您调用该方法时,您将传入任何参数。

Dang。那好吧。我想知道,因为我认为制作一种方法,然后传递我想切换到的场景,比每个场景制作一种方法更容易。Thanks@epicasian您可以为每个场景创建一个方法,并从中调用具有适当参数的通用方法。Dang。那好吧。我想知道,因为我认为制作一种方法,然后传递我想切换到的场景,比每个场景制作一种方法更容易。Thanks@epicasian您可以为每个场景创建一个方法,并从中调用具有适当参数的通用方法。