0

我不完全理解下面的警告。我相信这与在 TableView 控制器中使用 ReaderView 委托和模式表示有关,但这是我的猜测。我尝试使用带有可重用单元的视图控制器进行重建,但继续收到警告。下面是我的代码。对如何解决此警告的问题和建议的任何见解将不胜感激?

编译器说:

警告:从不兼容的类型“PdfVPTableViewController *const_strong”分配给“id ReaderViewControllerDelegate”

我的代码:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    int row = [indexPath row];
    NSArray * path4 = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,  NSUserDomainMask, YES);
    NSString * path5 = [path4 objectAtIndex:0];
    NSString *path6 = [path5 stringByAppendingPathComponent:_pdfList[row]];
    if([[NSFileManager defaultManager] fileExistsAtPath:path6]) {

        ReaderDocument *document = [ReaderDocument withDocumentFilePath:path6 password:nil];

        if (document != nil)
        {
            ReaderViewController *readerViewController = [[ReaderViewController alloc] initWithReaderDocument:document];
            readerViewController.delegate = self;

            readerViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
            readerViewController.modalPresentationStyle = UIModalPresentationFullScreen;

            [self presentViewController:readerViewController animated:YES completion:nil];
        }
    } else {UIAlertView *message = [[UIAlertView alloc] initWithTitle:@"File Problem, Select Another Photo Page" message:nil delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
        [message show];
    }
}

- (void)dismissReaderViewController:(ReaderViewController *)viewController {
    [self dismissViewControllerAnimated:YES completion:nil];
}
4

1 回答 1

0

似乎您的PdfVPTableViewController课程不符合ReaderViewControllerDelegate协议(从提供的代码很难说)。编译器要求从应该分配给readerViewController.delegate. 尝试将委托放在标题中(或在类别块内的 *.m 文件中):

#import "ReaderViewController.h"
@interface PdfVPTableViewController : UITableViewController <ReaderViewControllerDelegate>
{
    //...
}
@end

如果您已经有了这个,那么也许您应该在问题中添加更多代码。希望这可以帮助。

于 2013-06-10T17:03:27.257 回答