2011-07-01 108 views
0

我想在一些按鈕上按UITableView的內容(這是有效的)顯示彈出式菜單,然後將所選項目作爲字符串作爲buttontitle或一些textview文本。我已經找到了一些關於如何使用協議來做到這一點的例子,但仍然有錯誤。 我的代碼:UITableView中的蛋糕

在popoverViewController.h

@protocol popoverViewControllerDelegate <NSObject> 
-(void)getRowText:(NSString *)string; 
@end 

我宣佈一個id delegate2變量,並將其屬性設置爲:

@property(nonatomic,assign) id<popoverViewControllerDelegate> delegate2; 

在popoverViewController.m文件I合成變量,在didSelectRowAtIndexPath方法我有這個,並且這行似乎導致錯誤我有:

[self.delegate2 getRowText:[someArray objectAtIndex:indexPath.row]; 

在mainViewController.m中,我將popoverViewControllerDelegate添加到ViewControllers協議並導入其頭文件。然後在-(void)getRowText:方法中沒有被調用的代碼。

UIPopovers等都是按照需要設置的,當我在tableview中按下一行時會出現問題。我得到的

終止應用程序由於未捕獲 例外 'NSInvalidArgumentException' 的,理由是: '* - [UIPopoverViewController getRowText:]:無法識別選擇 發送到實例0x57ca80'

任何人都可以提供一些建議嗎?

+0

你在哪裏設置委託2和什麼? – Anna

回答

0

終於找到了錯誤,無法相信我是多麼愚蠢。

我有一個viewController.delegate2 = self。用句號代替分號,我想知道它爲什麼編譯了tho。