使用1参数@ selector调用函数。

时间:2010-06-02 14:11:43

标签: objective-c

//原创//

我想打电话给这个人

-(void)addFavorite:(NSString *)favoriteToAdd

at,@ selector此处

action:@selector([addFavorite favoriteToAdd:@"string"])];

但无论我以哪种方式编写它,我都会遇到语法错误。

有人能指出调用此功能的适当方法吗?当它没有参数并且是“addFavorite”时,它工作正常。

//更新//

我为不具体而道歉。这是一个iPhone应用程序。我有一个带按钮的视图,当按下按钮时,会抓取NSString并传递给addFavorite(上面的函数)。尝试向addFavorite添加参数时出现语法错误。

我想调用以下addFavorite

-(void)addFavorite:(NSString *)favoriteToAdd

像这样的东西

    UIBarButtonItem *addButton = [[UIBarButtonItem alloc]
                              initWithBarButtonSystemItem:UIBarButtonSystemItemAdd
                              target:self
                              action:@selector([addFavorite: favoriteToAdd:@"testString"])];
self.navigationItem.rightBarButtonItem = addButton;
[addButton release];

错误:在'['标记

之前预期':'

2 个答案:

答案 0 :(得分:4)

[obj action:@selector(addFavorite:) withObject:@"string"]

编辑:今天不能拼写:)

按钮点击时调用选择器的方法之一:

[buttonObj target:self action:@selector(addFavoriteClick)]`

然后,您必须从addFavoriteClick中的字符串中提取字符串并将其传递到addFavorite:

答案 1 :(得分:0)

UIBarButtonItem *addButton = [[UIBarButtonItem alloc]
                              initWithBarButtonSystemItem:UIBarButtonSystemItemAdd
                              target:self
                              action:@selector(addFavoriteClick:)];
self.navigationItem.rightBarButtonItem = addButton;
[addButton release];

点击按钮后将调用此方法 在按钮单击中,传递应添加为参数的字符串,如下所示

-(void)addFavoriteClick:(UIButton*)sender
{
   NSString *str=@"stringtobeadded";
   [self addFavorite :str];
}

这会对你有所帮助