-1

当在 collectionviewcontroller 的 detailviewcontroller 中按下 UIButton 时,我正在使用来自 GitHub 的 Leaves 示例代码来显示 pdf 文件。

不同之处在于 Leaves 项目使用的是 Tableviewcontroller,但我使用的是带有故事板 segue 的集合视图控制器。在 detailviewcontroller 中有一个 uibutton,当它被按下时会显示 pdf 文件。但是当按下那个uibutton时它给出了错误

应用程序正在崩溃,并且在崩溃日志中显示NSObject doesnotrecognizeselector,当应用程序崩溃时,由于未捕获的异常“NSInvalidArgumentException”而导致错误终止应用程序,原因:[LeavesCache setDataSource:]: unrecognized selector sent to instance

nsobject 是 LeavesCache 和 selector 是我按下以显示 pdf 文件的 uibutton

这是用于uibutton显示pdf文件的detailviewcontroller中的编码

 - (IBAction)ReadAction:(id)sender { [self performSegueWithIdentifier:@"MySegue" sender:sender];} 

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
 { 
 if ([[segue identifier] isEqualToString:@"MySegue"]) { 

    // Get destination view 

PDFViewController *pdfviewController = [segue destinationViewController]; 

NSInteger tagIndex = [(UIButton *)sender tag]; 

[pdfviewController setSelectedButton:tagIndex]; } }
4

1 回答 1

1

在原始项目中,dataSource 可能是 UITableView 的委托,该委托实现了在 UITableViewDataSource 中声明的委托方法。

您确定您尝试将数据源设置为具有该属性的类吗?在原始项目中,他们可能有一个 UITableViewController 或 UITableView (具有要设置的属性 dataSource ),您可以使用其他不...

正如“Hot Licks”试图在他的评论中告诉你的那样,你得到的错误只是因为你试图在一个不是 UITableView 并且没有该属性的类中设置一个委托。(你也可能在 IBuilder 中这样做过)

于 2013-06-18T16:24:38.227 回答