Objective c 将参数传递给选择器

Objective c 将参数传递给选择器,objective-c,iphone-sdk-3.0,Objective C,Iphone Sdk 3.0,我一直在做一个小演示,我写了一个函数,它接受两个字符串对象,如下所示 -(void)adding:(NSString*)num1 :(NSString*)num2 { num1 = first.text; //first is object of label num2 = second.text; //second is object of label int x= [num1 integerValue]; int y = [num2 integerValue]

我一直在做一个小演示,我写了一个函数,它接受两个字符串对象,如下所示

-(void)adding:(NSString*)num1 :(NSString*)num2
{
    num1 = first.text; //first is object of label
    num2 = second.text; //second is object of label

    int x= [num1 integerValue];
    int y = [num2 integerValue];

    int r = x+y;
    NSLog(@"%d",r);
}
我还有一个功能

-(void)calling
{
    [self performSelector:@selector(adding:)withObject:@"num1" withObject:@"num2"];
}
我正在调用名为calling on button touch up inside event的方法

[btn addTarget:self action:@selector(calling) forControlEvents:UIControlEventTouchUpInside];
但我收到一个名为unrecognized selector的错误发送到实例

您能告诉我哪里错了,以及如何将带参数的方法传递给选择器吗。
谢谢你,你少了一个冒号。试试这个:

[self performSelector:@selector(adding::)withObject:@"num1" withObject:@"num2"];
然而,在方法名上有未命名的参数是不好的,因为这样的错误会发生

我将您的方法重命名为

-(void)adding:(NSString*)num1 to:(NSString*)num
有这样一句话:

[self performSelector:@selector(adding:to:)withObject:@"num1" withObject:@"num2"];

你少了一个冒号。试试这个:

[self performSelector:@selector(adding::)withObject:@"num1" withObject:@"num2"];
然而,在方法名上有未命名的参数是不好的,因为这样的错误会发生

我将您的方法重命名为

-(void)adding:(NSString*)num1 to:(NSString*)num
有这样一句话:

[self performSelector:@selector(adding:to:)withObject:@"num1" withObject:@"num2"];

您的选择器搞错了,应该是@selectoradding::


此外,在这种情况下,您不需要使用performSelector:…,您可以直接发送消息:[自添加:@num1:@num2]。

您的选择器错误,它应该是@selectoradding::

此外,在这种情况下,您不需要使用PerformSelect:…,您可以直接发送消息:[自添加:@num1:@num2]