2010-06-02 22 views
0

// //原件帶有1個參數@選擇器的調用功能。

我想打電話給這傢伙

-(void)addFavorite:(NSString *)favoriteToAdd 

在,這裏@selector

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

但我不斷收到語法錯誤,不管我寫過來的。

有人可以指出調用此函數的適當方式嗎?當它沒有參數並且是「addFavorite」時,它工作正常。

// //更新

我不被更具體的道歉。這是一個iphone應用程序。我有一個按鈕的視圖,當按下按鈕時,NSString被抓住並傳遞給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]; 

錯誤:預期 ':' 之前, '[' 令牌

+0

我找到了一個解決方案,雖然不是很優雅。 @selector,我使用調用addFavorite調用一個函數。有用。感謝大家的幫助。 – 2010-06-02 15:14:03

+0

不幸的是,它將如何工作。對於單擊按鈕事件選擇器,您無法傳遞參數。正如你打算把它從某個地方拉出來那不是問題。您必須通過單擊操作調用函數,然後使用您檢索的字符串調用'addFavorite'(如我的答案中所述)。 – 2010-06-02 15:49:08

回答

4

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

編輯:今天不能拼寫:)

一個調用按鈕點擊選擇的方法:

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

然後你必須從它的定義,其中拉addFavoriteClick字符串,並把它傳遞到addFavorite:

+0

我很抱歉,但我不明白這是如何工作的。我想添加「favoriteToAdd」,而我沒有「obj」。 @選擇器是單擊按鈕時的動作。 – 2010-06-02 14:20:20

+0

當你點擊一個按鈕時,你是否希望它執行'addFavorite'? – 2010-06-02 14:26:56

+0

是的,我想通過addFavorite一個字符串。我正在尋找onClick {addFavorite(myString)的objective-c/iphone等價物; } – 2010-06-02 14:28:07

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

這種方法將被調用一旦按鈕被敲擊 在按鈕單擊中,傳遞應添加爲以下參數的字符串,如下所示

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

這將幫助你

相關問題