2011-07-01 76 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。