我希望在某些按钮按下时显示带有UITableView
的弹出窗口作为内容(这可以工作),然后将所选项目作为字符串作为buttontitle或一些textview文本。我已经找到了一些关于如何使用协议执行此操作但仍然出错的示例。
我的代码:
在popoverViewController.h中
@protocol popoverViewControllerDelegate <NSObject>
-(void)getRowText:(NSString *)string;
@end
我声明了一个id delegate2变量并将其属性设置为:
@property(nonatomic,assign) id<popoverViewControllerDelegate> delegate2;
在popoverViewController.m文件中我合成了变量,并且在didSelectRowAtIndexPath
方法中我有这个,这一行似乎导致了我所遇到的错误:
[self.delegate2 getRowText:[someArray objectAtIndex:indexPath.row];
在mainViewController.m中,我将popoverViewControllerDelegate添加到ViewControllers协议并导入其头文件。然后在-(void)getRowText:
方法中有一些代码没有被调用。
UIPopovers
这样设置,因为它们按需工作,当我在tableview中按一行时出现问题。
因未捕获而终止应用 例外 'NSInvalidArgumentException',原因: ' * - [UIPopoverViewController getRowText:]:无法识别的选择器 发送到实例0x57ca80'
有人可以给出一些建议吗?
答案 0 :(得分:0)
终于发现错误而且无法相信我/它有多傻。
我有一个viewController.delegate2 = self。用句号代替分号,我想知道它为什么编译了。